2003-05-22  Bruno Haible  <bruno@clisp.org>

	* gettext-0.12.1 released.

2003-05-21  Bruno Haible  <bruno@clisp.org>

	* msggrep.c (main) [Solaris]: Fix syntax error.
	Reported by Valery Beaud <valery.beaud@art.alcatel.fr>.

2003-05-21  Bruno Haible  <bruno@clisp.org>

	* xgettext.c (output_syntax): New variable.
	(main): Set it.
	(finalize_header): If --properties-output was given, set the charset.

2003-05-18  Bruno Haible  <bruno@clisp.org>

	* Makefile.msvc (DEBUGFLAGS): New variable.
	(gettextsrc.lib): Use it.
	(msgcmp.exe, msgfmt.exe, msgmerge.exe, msgunfmt.exe, xgettext.exe,
	msgattrib.exe, msgcat.exe, msgcomm.exe, msgconv.exe, msgen.exe,
	msgexec.exe, msgfilter.exe, msggrep.exe, msginit.exe, msguniq.exe):
	Use it, and MFLAGS too.

2003-05-17  Bruno Haible  <bruno@clisp.org>

	* gettext-0.12 released.

2003-05-17  Bruno Haible  <bruno@clisp.org>

	* Makefile.msvc (msgcmp.exe, msgfmt.exe, msgmerge.exe, msgunfmt.exe,
	msgattrib.exe, msgcat.exe, msgcomm.exe, msgconv.exe, msgen.exe,
	msgexec.exe, msgfilter.exe, msggrep.exe, msginit.exe, msguniq.exe):
	Link with iconv.lib, needed by intl.lib.

2003-05-12  Bruno Haible  <bruno@clisp.org>

	* msginit.c (F_OK): Provide a fallback value.
	Reported by Perry Rapp.

2003-05-10  Bruno Haible  <bruno@clisp.org>

	* msgl-iconv.c (iconv_string): Don't return -1 just because the string
	is longer than 4 KB.
	Reported by Denis Barbier <barbier@linuxfr.org>.

2003-05-04  Bruno Haible  <bruno@clisp.org>

	* po-lex.h (po_gram_error): Don't use ISO C 99 feature on DEC C.
	* po-lex.c (po_gram_error): LIkewise.

2003-05-03  Bruno Haible  <bruno@clisp.org>

	* msgfilter.c: Include <sys/select.h> also on EMX.
	Reported by Andreas Buening <andreas.buening@nexgo.de>.

2003-04-26  Bruno Haible  <bruno@clisp.org>

	* message.h (msgdomain_list_ty): Add field 'encoding'.
	* message.c (msgdomain_list_alloc): Initialize it.
	* read-properties.h: New file.
	* read-properties.c: New file.
	* read-po-abstract.h (abstract_po_reader_class_ty): In
	directive_message field, add force_fuzzy argument.
	(po_scan_start, po_scan_end): Remove declarations.
	(input_syntax_ty): New type.
	(po_callback_message): Add force_fuzzy argument.
	* read-po-abstract.c (call_directive_message, po_callback_message):
	Add force_fuzzy argument.
	(po_scan_start, po_scan_end): Make static.
	(po_scan): Add support for syntax_properties. Move
	error_message_count handling to here.
	(po_callback_message): Move po_lex_charset_set invocation away.
	* read-po.h (default_po_reader_class_ty): In add_message field, add
	force_fuzzy argument.
	(default_directive_message, default_add_message): Add force_fuzzy
	argument.
	(inout_syntax): New declaration.
	* read-po.c (call_add_message): Add force_fuzzy argument.
	(default_directive_message, default_add_message): Likewise.
	(input_syntax): New variable.
	(read_po): Pass input_syntax to po_scan(). Set mdlp->encoding if
	possible.
	* po-gram-gen.y: Pass force_fuzzy = false.
	(do_callback_message): New function. Move po_lex_charset_set
	invocation to here.
	* po-lex.c (lex_end): Move error_message_count handling away.
	* write-properties.h: New file.
	* write-properties.c: New file.
	* write-po.h (message_print_syntax_properties): New declaration.
	* write-po.c (use_syntax_properties): New variable.
	(message_print_syntax_properties): New function.
	(msgdomain_list_print_po): New function, extracted from
	msgdomain_list_print.
	(msgdomain_list_print): Add check for plural forms. Add support for
	writing the .properties format.
	(extract_po): Renamed from extract. 
	* write-java.h (msgdomain_write_java): Add canon_encoding argument.
	* write-java.c (msgdomain_write_java): Likewise.
	* write-tcl.h (msgdomain_write_tcl): Likewise.
	* write-tcl.c (msgdomain_write_tcl): Likewise.
	* msgl-cat.c (catenate_msgdomain_list): Use mdlp->encoding if there
	is no header entry. Set total_mdlp->encoding if possible.
	* msgl-iconv.c (iconv_msgdomain_list): Use mdlp->encoding if there
	is no header entry. Set mdlp->encoding.
	* msgattrib.c (long_options): Add --properties-input/output.
	(main): Handle them.
	(usage): Document options -P and -p.
	* msgcat.c (long_options): Add --properties-input/output.
	(main): Handle them. If option -p is used, convert to UTF-8 and
	ignore the to_code.
	(usage): Document options -P and -p.
	* msgcomm.c (long_options): Add --properties-input/output.
	(main): Handle them.
	(usage): Document options -P and -p.
	* msgconv.c (long_options): Add --properties-input/output.
	(main): Handle them. If option -p is used, ignore the to_code.
	(usage): Document options -P and -p.
	* msgen.c (long_options): Add --properties-input/output.
	(main): Handle them.
	(usage): Document options -P and -p.
	* msgfilter.c (long_options): Add --properties-input/output.
	(main): Handle them.
	(usage): Document options -P and -p.
	* msggrep.c (long_options): Add --properties-input/output.
	(main): Handle them.
	(usage): Document options -P and -p.
	* msginit.c (long_options): Add --properties-input/output.
	(main): Handle them.
	(usage): Document options -P and -p.
	* msgmerge.c (long_options): Add --properties-input/output.
	(main): Handle them. In update mode, --properties-input implies
	--properties-output.
	(usage): Document options -P and -p.
	(merge): Set result->encoding if possible.
	* msguniq.c (long_options): Add --properties-input/output.
	(main): Handle them.
	(usage): Document options -P and -p.
	* msgcmp.c (long_options): Add --properties-input.
	(main): Handle it.
	(usage): Document option -P.
	* msgexec.c (long_options): Add --properties-input.
	(main): Handle it.
	(usage): Document option -P.
	* msgfmt.c (long_options): Add --properties-input.
	(main): Handle it. Pass the known canon_encoding to
	msgdomain_write_java and msgdomain_write_tcl.
	(usage): Document option -P.
	(msgfmt_add_message): Add force_fuzzy argument.
	(read_po_file_msgfmt): Pass input_syntax to po_scan().
	* msgunfmt.c (long_options): Add --properties-output.
	(main): Handle it.
	(usage): Document option -p.
	* x-properties.h: New file.
	* x-po.c (extract_add_message): Add force_fuzzy argument.
	(extract): Renamed from extract_po. Pass input_syntax to po_scan().
	(extract_po): New function.
	(extract_properties): New function.
	* xgettext.h: Include read-po.h.
	* xgettext.c (long_options): Add --properties-output.
	(main): Handle it.
	(usage): Document options -L JavaProperties and --properties-output.
	(exclude_directive_message): Add force_fuzzy argument.
	(read_exclusion_file): Pass input_syntax to po_scan().
	(table): Add support for .properties format.
	* Makefile.am (noinst_HEADERS): Add read-properties.h,
	write-properties.h, x-properties.h.
	(COMMON_SOURCE): Add read-properties.c.
	(libgettextsrc_la_SOURCES): Add write-properties.c.
	* Makefile.msvc (OBJECTS): Add read-properties.obj,
	write-properties.obj.
	(read-properties.obj, write-properties.obj): New rules.
	* Makefile.vms (OBJECTS): Add read-properties.obj,
	write-properties.obj.
	(read-properties.obj, write-properties.obj): New rules.
	* FILES: Update.

2003-04-21  Bruno Haible  <bruno@clisp.org>

	* read-po-abstract.h (po_scan_file): Remove declaration.
	* read-po-abstract.c (po_scan_file): Remove function.
	* read-po.c (read_po_file): Call read_po.
	* msgfmt.c (read_po_file_msgfmt): Call open_po_file. Invoke po_scan
	instead of po_scan_file.
	* xgettext.c (read_exclusion_file): Call open_po_file. Invoke po_scan
	instead of po_scan_file.

2003-04-20  Bruno Haible  <bruno@clisp.org>

	* open-po.h (open_po_file): Add argument 'exit_on_error'.
	* open-po.c (try_open_po_file): Renamed from open_po_file.
	(open_po_file): New function.
	* po-lex.h (lex_end): Change return type to void.
	(lex_open, lex_close): Remove declarations.
	* po-lex.c (lex_end): Change return type to void.
	(lex_open, lex_close): Remove functions.
	* read-po-abstract.c (po_scan_file): Inline lex_open and lex_close.
	Reuse po_scan code.

2003-04-14  Bruno Haible  <bruno@clisp.org>

	* hostname.c (usage): Split strings: use one string per option
	description.
	* msgattrib.c (usage): Likewise.
	* msgcat.c (usage): Likewise.
	* msgcmp.c (usage): Likewise.
	* msgcomm.c (usage): Likewise.
	* msgconv.c (usage): Likewise.
	* msgen.c (usage): Likewise.
	* msgexec.c (usage): Likewise.
	* msgfilter.c (usage): Likewise.
	* msgfmt.c (usage): Likewise.
	* msggrep.c (usage): Likewise.
	* msginit.c (usage): Likewise.
	* msgmerge.c (usage): Likewise.
	* msgunfmt.c (usage): Likewise.
	* msguniq.c (usage): Likewise.
	* urlget.c (usage): Likewise.
	* xgettext.c (usage): Likewise.

2003-04-13  Bruno Haible  <bruno@clisp.org>

	Unify three PO file parsers.
	* read-po-abstract.h: Renamed from po.h.
	(abstract_po_reader_class_ty): Renamed from po_method_ty.
	(abstract_po_reader_ty): Renamed from po_ty.
	(ABSTRACT_PO_READER_TY): Renamed from PO_BASE_TY.
	(po_reader_alloc): Renamed from po_alloc.
	(po_reader_free): Renamed from po_free.
	* read-po-abstract.c: Renamed from po.c.
	(po_reader_alloc): Renamed from po_alloc.
	(po_reader_free): Renamed from po_free.
	(call_parse_brief): Renamed from po_parse_brief.
	(call_parse_debrief): Renamed from po_parse_debrief.
	(call_directive_domain): Renamed from po_directive_domain.
	(call_directive_message): Renamed from po_directive_message.
	(call_comment): Renamed from po_comment.
	(call_comment_dot): Renamed from po_comment_dot.
	(call_comment_filepos): Renamed from po_comment_filepos.
	(call_comment_special): Renamed from po_comment_special.
	* read-po.h: Include read-po-abstract.h.
	(default_po_reader_class_ty, default_po_reader_ty): New types.
	(ABSTRACT_PO_READER_TY): New macro.
	(default_constructor, default_destructor, default_parse_brief,
	default_parse_debrief, default_directive_domain,
	default_directive_message, default_comment, default_comment_dot,
	default_comment_filepos, default_comment_special, default_set_domain,
	default_add_message): New declarations.
	(default_po_reader_alloc): New declaration.
	* read-po.c (default_po_reader_ty): Renamed from readall_class_ty.
	Add fields handle_comments, handle_filepos_comments,
	allow_domain_directives, allow_duplicates,
	allow_duplicates_if_same_msgstr.
	(call_set_domain, call_add_message, call_frob_new_message): New
	functions.
	(default_constructor): Renamed from readall_constructor. Don't set
	this->mdlp and this->mlp.
	(default_destructor): Renamed from readall_destructor.
	(default_parse_brief): Renamed from readall_parse_brief.
	(default_parse_debrief): New function.
	(default_copy_comment_state, default_reset_comment_state): New
	functions.
	(default_directive_domain): Renamed from readall_directive_domain.
	Call set_domain method.
	(default_directive_message): Renamed from readall_directive_message.
	Call add_message method.
	(default_comment): Renamed from readall_comment.
	(default_comment_dot): Renamed from readall_comment_dot.
	(default_comment_filepos): Renamed from readall_comment_filepos.
	(default_comment_special): Renamed from readall_comment_special.
	(default_set_domain, default_add_message): New functions.
	(default_methods): Renamed from readall_methods.
	(default_po_reader_alloc): New function.
	(read_po, read_po_file): Update.
	* msgfmt.c: Include read-po.h instead of po.h.
	(msgfmt_po_reader_ty): Renamed from msgfmt_class_ty. Inherit
	from default_po_reader_ty.
	(main): Drop po_lex_pass_comments call, done by default_parse_brief.
	(msgfmt_constructor): Renamed from format_constructor. Call superclass
	function.
	(msgfmt_parse_debrief): Renamed from format_debrief. Call superclass
	function.
	(format_directive_domain): Remove function.
	(msgfmt_set_domain): New function.
	(format_directive_message): Remove function.
	(msgfmt_add_message, msgfmt_frob_new_message): New functions.
	(msgfmt_comment_special): Renamed from format_comment_special.
	(msgfmt_methods): Renamed from format_methods.
	(read_po_file_msgfmt): Renamed from read_po_file.
	* x-po.c: Include read-po.h instead of po.h.
	(extract_class_ty, extract_constructor, extract_directive_domain,
	extract_directive_message, extract_parse_brief, extract_comment,
	extract_comment_dot, extract_comment_filepos, extract_comment_special):
	Remove functions.
	(extract_add_message): New function.
	(extract_methods): Update.
	(extract_po): Update.
	* xgettext.c: Include read-po-abstract.h instead of po.h.
	(exclude_directive_domain, exclude_directive_message, exclude_methods,
	read_exclusion_file): Update.
	* msgcmp.c: Don't include po.h.
	* msgmerge.c: Likewise.
	* po-gram-gen.y: Include read-po-abstract.h instead of po.h.
	* po-hash-gen.y: Likewise.
	(po_parse_comment_filepos): Renamed from po_hash.
	* po-hash.h (po_parse_comment_filepos): Renamed from po_hash.
	* Makefile.am (noinst_HEADERS): Remove po.h, add read-po-abstract.h.
	(COMMON_SOURCE): Remove po.c, add read-po-abstract.c.
	* Makefile.msvc (OBJECTS): Remove po.obj, add read-po-abstract.obj.
	(read-po-abstract.obj): Renamed from po.obj.
	* Makefile.vms (OBJECTS): Remove po.obj, add read-po-abstract.obj.
	(read-po-abstract.obj): Renamed from po.obj.

2003-04-13  Bruno Haible  <bruno@clisp.org>

	* read-po.c (readall_directive_message): Separate accumulation and
	reset.
	* x-po.c (extract_directive_message): Likewise.

2003-04-13  Bruno Haible  <bruno@clisp.org>

	* write-po.h (message_print_comment, message_print_comment_dot,
	message_print_comment_filepos, message_print_comment_flags): New
	declarations.
	* write-po.c: Reorder functions.
	(message_print_comment, message_print_comment_dot,
	message_print_comment_filepos, message_print_comment_flags): New
	functions, extracted from message_print.
	(message_print): Use them.
	(message_print_obsolete): Use message_print_comment.

2003-04-22  Bruno Haible  <bruno@clisp.org>

	* plural-table.c (plural_table): Add an entry about Faroese.
	Reported by Jacob Sparre Andersen <sparre@crs4.it>.

2003-04-13  Bruno Haible  <bruno@clisp.org>

	* po.h (po_scan_start, po_scan_end): New declarations.
	* po.c: Reorder functions.
	(po_scan_start, po_scan_end): New functions.
	(po_scan, po_scan_file): Use them.

2003-04-12  Bruno Haible  <bruno@clisp.org>

	* Makefile.vms: New variables ABIFLAGS, DEFS. Avoid rules with no
	lines. Don't use the force target. Correct wildcard syntax.
	Suggested by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.

2003-04-13  Bruno Haible  <bruno@clisp.org>

	* xgettext.c (construct_header): Remove spurious comma.

2003-03-30  Bruno Haible  <bruno@clisp.org>

	* Makefile.vms: New file.
	* Makefile.am (EXTRA_DIST): Add Makefile.vms.
	(x-java.c): Prepend a few VMS specific lines.
	* po-lex.c (mbfile_getc): Change element type of scatchbuf to
	'unsigned char'.
	* write-java.c (string_hashcode, write_java_string): Cast argument of
	u8_mbtouc.
	* write-tcl.c (write_tcl_string): Likewise.
	* x-python.c (phase7_getuc): Cast argument of unicode_name_character.
	* msgfilter.c (write): #undef before redefining it. Needed for VMS.
	(select): Likewise.

2003-03-30  Bruno Haible  <bruno@clisp.org>

	* Makefile.am (noinst_HEADERS): Add po-gram-gen2.h.
	(BUILT_SOURCES): Add po-gram-gen2.h.
	(DISTCLEANFILES): Remove po-gram-gen2.h.
	(po-gram-gen2.h): Simplify rule.

2003-03-17  Bruno Haible  <bruno@clisp.org>

	Native Woe32/MSVC support.
	* Makefile.msvc: New file.
	* Makefile.am (EXTRA_DIST): Add it.
	* msgfilter.c: Include <sys/time.h> only if it exists.
	(process_string): Mark as NYI on Woe32.
	* msgfmt.c (sigjmp_buf, sigsetjmp, siglongjmp): Provide fallback
	definitions for Woe32.
	* msginit.c: Include <fcntl.h>, for F_OK. Include <pwd.h> only if it
	exists.
	(get_user_pwd, get_user_fullname): Adapt for when <pwd.h> is missing.
	(project_id, project_id_version, get_user_email,
	language_team_address): Use DEV_NULL instead of "/dev/null".
	* msggrep.c (is_string_selected): Likewise.
	* read-java.c (execute_and_read_po_output): Likewise.
	* read-tcl.c (msgdomain_read_tcl): Likewise.
	* write-mo.c: Include <sys/param.h> only if it exists.

2003-03-28  Bruno Haible  <bruno@clisp.org>

	* msgmerge.c (main): Use copy_file_preserving instead of copy_file.

2003-03-16  Bruno Haible  <bruno@clisp.org>

	* str-list.h (string_list_join): Comment out.
	* str-list.c (string_list_join): Comment out.

2003-03-10  Bruno Haible  <bruno@clisp.org>

	* msggrep.c (no_pass): Mention option -C.
	(usage): Document option -C completely.
	Reported by Martin Quinson <Martin.Quinson@tuxfamily.org>.

2003-02-28  Bruno Haible  <bruno@clisp.org>

	Support for relocatable installation.
	* msgattrib.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgcat.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgcmp.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgcomm.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgconv.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgen.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgexec.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgfilter.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgfmt.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msggrep.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msginit.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	(project_id, project_id_version, get_user_email): Relocate LIBDIR
	value.
	(language_team_address): Relocate LIBDIR and PROJECTSDIR values.
	* msgmerge.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msgunfmt.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* msguniq.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* xgettext.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value.
	* read-java.c: Include relocatable.h.
	(msgdomain_read_java): Relocate GETTEXTJEXEDIR value.
	* read-tcl.c: Include relocatable.h.
	(msgdomain_read_tcl): Relocate GETTEXTDATADIR value.
	* hostname.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value. Update copyright year.
	* urlget.c: Include relocatable.h.
	(main): Relocate LOCALEDIR value. Update copyright year.
	(fetch): Relocate GETTEXTJEXEDIR value.
	* user-email.in: Relocate $libdir.
	* Makefile.am (aliaspath): New variable.
	(DEFS): Define LOCALE_ALIAS_PATH.
	(msginit_SOURCES): Add .../localealias.c.
	(msginit_LDADD): Remove .../localealias.lo.
	(msgcmp_CFLAGS, msgfmt_CFLAGS, msgmerge_CFLAGS, msgunfmt_CFLAGS,
	xgettext_CFLAGS, msgattrib_CFLAGS, msgcat_CFLAGS, msgcomm_CFLAGS,
	msgconv_CFLAGS, msgen_CFLAGS, msgexec_CFLAGS, msgfilter_CFLAGS,
	msggrep_CFLAGS, msginit_CFLAGS, msguniq_CFLAGS, hostname_CFLAGS,
	urlget_CFLAGS): New variables.
	(msgcmp_LDFLAGS, msgfmt_LDFLAGS, msgmerge_LDFLAGS, msgunfmt_LDFLAGS,
	xgettext_LDFLAGS, msgattrib_LDFLAGS, msgcat_LDFLAGS, msgcomm_LDFLAGS,
	msgconv_LDFLAGS, msgen_LDFLAGS, msgexec_LDFLAGS, msgfilter_LDFLAGS,
	msggrep_LDFLAGS, msginit_LDFLAGS, msguniq_LDFLAGS, hostname_LDFLAGS,
	urlget_LDFLAGS): New variables.
	(install-exec-java-yes): Don't ignore INSTALL_PROGRAM_ENV.
	(RELOCATABLE_LIBRARY_PATH, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR,
	RELOCATABLE_CONFIG_H_DIR): New variables.

2003-03-13  Bruno Haible  <bruno@clisp.org>

	* msggrep.c (main): On Solaris, prefer /usr/xpg4/bin/grep to
	/usr/bin/grep. Needed for Solaris 2.8 and 2.9.
	Reported by Sven Utcke <utcke@informatik.uni-hamburg.de>.

2003-03-03  Bruno Haible  <bruno@clisp.org>

	* msgen.c (usage): Don't say that the entries are marked fuzzy.
	Reported by Karl Eichwalder <ke@suse.de>.

2003-02-23  Bruno Haible  <bruno@clisp.org>

	Improve error messages for invalid format strings.
	* format-invalid.h: New file.
	* format.h (struct formatstring_parser): Add invalid_reason argument
	to 'parse' field.
	* format-awk.c: Include c-ctype.h, xerror.h, format-invalid.h.
	(format_parse): Add invalid_reason argument.
	* format-c.c: Include c-ctype.h, xerror.h, format-invalid.h.
	(INVALID_C99_MACRO): New macro.
	(format_parse): Add invalid_reason argument.
	(get_c99_format_directives): Update.
	* format-elisp.c: Include c-ctype.h, xerror.h, format-invalid.h.
	(format_parse): Add invalid_reason argument.
	* format-java.c: Include xerror.h, format-invalid.h.
	(message_format_parse, choice_format_parse, format_parse): Add
	invalid_reason argument.
	(choice_format_parse): Return false if a choice contains an empty
	number part.
	* format-librep.c: Include c-ctype.h, xerror.h, format-invalid.h.
	(format_parse): Add invalid_reason argument.
	* format-lisp.c: Include xerror.h, format-invalid.h.
	(check_params, nocheck_params): Add directives, invalid_reason
	arguments.
	(parse_upto, format_parse): Add invalid_reason argument.
	* format-pascal.c: Include xerror.h, format-invalid.h.
	(format_parse): Add invalid_reason argument.
	* format-php.c: Include c-ctype.h, xerror.h, format-invalid.h.
	(format_parse): Add invalid_reason argument.
	* format-python.c: Include c-ctype.h, xerror.h, format-invalid.h.
	(INVALID_MIXES_NAMED_UNNAMED): New macro.
	(format_parse): Add invalid_reason argument.
	* format-tcl.c: Include c-ctype.h, xerror.h, format-invalid.h.
	(format_parse): Add invalid_reason argument.
	* format-ycp.c: Include c-ctype.h, xerror.h, format-invalid.h.
	(format_parse): Add invalid_reason argument.
	* msgfmt.c (check_pair): Output invalid_reason returned for msgstr.
	* msgmerge.c (msgfmt_check_pair_fails): Update.
	* xgettext.c (remember_a_message, remember_a_message_plural): Update.
	* Makefile.am (FORMAT_SOURCE): Add format-invalid.h.

2003-02-22  Bruno Haible  <bruno@clisp.org>

	* x-python.c (init_keywords): Add u*gettext variants and plural
	handling functions added in Python 2.3.

2003-02-22  Bruno Haible  <bruno@clisp.org>

	* Makefile.am (installdirs): Remove dependency, redundant with
	automake >= 1.6.

2003-02-20  Bruno Haible  <bruno@clisp.org>

	* Makefile.am (libgettextpo_la_DEPENDENCIES): New variable.
	Reported by Jim Meyering <jim@meyering.net>.

2003-02-19  Bruno Haible  <bruno@clisp.org>

	* Makefile.am (xgettext_LDADD): Mention $(LIBUNINAME) before
	libgettextsrc.la, not after it. Needed avoid link error on OSF/1 4.0:
	libtool produces a link command line that contains "-lc" where a
	shared library was used, and on OSF/1 4.0 "-lc" must not be used
	before objects that use integer division.

2003-02-18  Bruno Haible  <bruno@clisp.org>

	* message.c (msgdomain_list_free): Uncomment this function.
	* Makefile.am (libgettextpo_la_LDFLAGS): Add ../lib/libgettextlib.la.
	Needed for Solaris 2.7.

2003-02-16  Bruno Haible  <bruno@clisp.org>

	* msgmerge.c (message_merge): Add support for Report-Msgid-Bugs-To
	field.
	* xgettext.c (msgid_bugs_address): New variable.
	(long_options): Add option --msgid-bugs-address.
	(main): Handle option --msgid-bugs-address.
	(usage): Document option --msgid-bugs-address.
	(construct_header): Add 'Report-Msgid-Bugs-To:' field. Warn if
	msgid_bugs_address is empty.

2003-02-15  Bruno Haible  <bruno@clisp.org>

	* user-email.in: Add support for GNOME evolution, OpenOffice and
	StarOffice with nonstandard installation directory.

2003-02-15  Bruno Haible  <bruno@clisp.org>

	* msgattrib.c (main): Update year in --version output.
	* msgcat.c (main): Likewise.
	* msgcmp.c (main): Likewise.
	* msgcomm.c (main): Likewise.
	* msgconv.c (main): Likewise.
	* msgen.c (main): Likewise.
	* msgexec.c (main): Likewise.
	* msgfilter.c (main): Likewise.
	* msgfmt.c (main): Likewise.
	* msgunfmt.c (main): Likewise.
	* msguniq.c (main): Likewise.
	* xgettext.c (main): Likewise.

2003-02-12  Bruno Haible  <bruno@clisp.org>

	Big restructuring.
	* gettext.c: Remove file.
	* ngettext.c: Remove file.
	* Makefile.am (bin_PROGRAMS): Remove gettext, ngettext.
	(EXTRA_DIST): Add ChangeLog.0.
	(pkgdatadir): Define using 'gettext' instead of @PACKAGE@.
	(pkglibdir): Likewise.
	(INCLUDES): Refer to intl in gettext-runtime directory.
	(gettext_SOURCES, ngettext_SOURCES, gettext_LDADD, ngettext_LDADD):
	Remove variables.
	(install-exec-local, installdirs-local, uninstall-local,
	install-exec-java-yes, installdirs-java-yes, uninstall-java-yes): Use
	$(pkglibdir) instead of $(libdir)/$(PACKAGE).
	* plural.c: Update for changed directory structure.
	* user-email.in: Use 'gettext' instead of @PACKAGE@.


See ChangeLog.0 for earlier changes.
