| 2003-01-31 Bruno Haible <bruno@clisp.org> |
| |
| * gettext-po.h: New file. |
| * gettext-po.c: New file. |
| * Makefile.am (lib_LTLIBRARIES): Add libgettextpo.la. |
| (include_HEADERS): New variable. |
| (libgettextpo_la_SOURCES, libgettextpo_la_LDFLAGS): New variables. |
| (LTV_CURRENT, LTV_REVISION, LTV_AGE): New variables. |
| |
| 2003-01-24 Bruno Haible <bruno@clisp.org> |
| |
| * msgattrib.c (long_options): Add --only-file and --ignore-file. |
| (main): Handle options --only-file and --ignore-file. |
| (usage): Document options --only-file and --ignore-file. |
| (process_message_list): Add arguments only_mdlp, ignore_mdlp. |
| (process_msgdomain_list): Likewise. |
| |
| 2003-01-23 Bruno Haible <bruno@clisp.org> |
| |
| * po-gram.h: Don't include <sys/types.h>. |
| |
| 2003-01-23 Bruno Haible <bruno@clisp.org> |
| |
| * msgmerge.c (use_fuzzy_matching): New variable. |
| (long_options): Add option -N/--no-fuzzy-matching. |
| (main, match_domain): Implement it. |
| (usage): Document it. |
| |
| 2003-01-23 Bruno Haible <bruno@clisp.org> |
| |
| * write-mo.c (write_table): Use xmalloc/free instead of alloca/freea |
| for most allocations. Needed for platforms with a small stack, such |
| as Woe32 with a default stack size of 1.2 MB. |
| Reported by Xiong Jiang <jxiong@offtopic.org>. |
| |
| 2003-01-23 Bruno Haible <bruno@clisp.org> |
| |
| * format-c.c (get_c99_format_directives): Free the allocated |
| descriptor after use. |
| |
| 2003-01-18 Bruno Haible <bruno@clisp.org> |
| |
| * FILES: Update. |
| |
| 2003-01-12 Bruno Haible <bruno@clisp.org> |
| |
| * msgconv.c: Include localcharset.h. |
| (locale_charset): Remove declaration. |
| * msginit.c: Include localcharset.h. |
| (locale_charset): Remove declaration. |
| * msgl-charset.c: Include localcharset.h. |
| (locale_charset): Remove declaration. |
| |
| 2003-01-12 Bruno Haible <bruno@clisp.org> |
| |
| * format-java.c: Include alloca.h instead of liballoca.h. |
| * msggrep.c: Likewise. |
| * msginit.c: Likewise. |
| * msgl-cat.c: Likewise. |
| * msgl-charset.c: Likewise. |
| * msgl-iconv.c: Likewise. |
| * msgmerge.c: Likewise. |
| * po-charset.c: Likewise. |
| * read-tcl.c: Likewise. |
| * write-java.c: Likewise. |
| * write-mo.c: Likewise. |
| * write-po.c: Likewise. |
| * write-tcl.c: Likewise. |
| |
| 2003-01-12 Bruno Haible <bruno@clisp.org> |
| |
| * Makefile.am: Make use of += for variables. |
| |
| 2003-01-12 Bruno Haible <bruno@clisp.org> |
| |
| * write-po.c (wrap): Add an assertion, to protect against Solaris 2.9 |
| iconv() bug. |
| |
| 2003-01-10 Bruno Haible <bruno@clisp.org> |
| |
| * po-charset.c (po_lex_charset_set): Work around Solaris 2.9 iconv() |
| bug. |
| * write-po.c (wrap): Likewise. |
| |
| 2003-01-08 Bruno Haible <bruno@clisp.org> |
| |
| * project-id: Make it work with configure files that use |
| AM_INIT_AUTOMAKE from automake-1.7.2. |
| |
| 2002-12-04 Bruno Haible <bruno@clisp.org> |
| |
| Fix handling of references to filenames starting with a digit. |
| * po-hash-gen.y (last_was_colon): New variable. |
| (yylex): Update it for each token. Recognize numbers only immediately |
| after a colon. |
| (po_hash): Move function. Initialize last_was_colon. |
| Reported by Yanko Kaneti <yaneti@declera.com> and |
| Jordi Mallach <jordi@sindominio.net>. |
| |
| 2002-11-22 Bruno Haible <bruno@clisp.org> |
| |
| * msgexec.c (process_string): Change test of full_write return value. |
| * msggrep.c (is_string_selected): Likewise. |
| * urlget.c (cat_file): Likewise. |
| |
| 2002-11-14 Bruno Haible <bruno@clisp.org> |
| |
| * x-php.c (phase3_getc): Initialize variable last_was_qmark. |
| |
| 2002-11-13 Bruno Haible <bruno@clisp.org> |
| |
| Assume ANSI C. |
| * dir-list.h (dir_list_append, dir_list_nth, dir_list_save_reset, |
| dir_list_restore): Use ANSI C function declarations. |
| * dir-list.c (dir_list_append, dir_list_nth, dir_list_restore): |
| Likewise. |
| * file-list.h (read_names_from_file): Likewise. |
| * file-list.c (read_names_from_file): Likewise. |
| * format.h (struct formatstring_parser, get_c99_format_directives): |
| Likewise. |
| * format-awk.c (numbered_arg_compare, format_parse, format_free, |
| format_get_number_of_directives, format_check, format_print): Likewise. |
| * format-c.c (numbered_arg_compare, format_parse, format_free, |
| format_get_number_of_directives, format_check, |
| get_c99_format_directives, format_print): Likewise. |
| * format-elisp.c (numbered_arg_compare, format_parse, format_free, |
| format_get_number_of_directives, format_check, format_print): Likewise. |
| * format-java.c (message_format_parse, date_format_parse, |
| number_format_parse, choice_format_parse, numbered_arg_compare, |
| format_parse, format_free, format_get_number_of_directives, |
| format_check, format_print): Likewise. |
| * format-librep.c (numbered_arg_compare, format_parse, format_free, |
| format_get_number_of_directives, format_check, format_print): Likewise. |
| * format-lisp.c (verify_element, verify_list, free_element, free_list, |
| copy_element, copy_list, equal_element, equal_list, |
| ensure_initial_alloc, grow_initial_alloc, ensure_repeated_alloc, |
| grow_repeated_alloc, normalize_outermost_list, normalize_list, |
| is_empty_list, unfold_loop, rotate_loop, initial_splitelement, |
| initial_unshare, shift_list, make_intersected_element, |
| append_repeated_to_initial, backtrack_in_initial, |
| make_intersected_list, make_intersection_with_empty_list, |
| intersection, make_union_element, make_union_list, |
| make_union_with_empty_list, union, is_required, |
| add_required_constraint, add_end_constraint, add_type_constraint, |
| add_listtype_constraint, add_req_type_constraint, |
| add_req_listtype_constraint, make_repeated_list_of_lists, |
| make_repeated_list, check_params, nocheck_params, parse_upto, |
| format_parse, format_free, format_get_number_of_directives, |
| format_check, print_element, print_list, format_print): Likewise. |
| * format-pascal.c (numbered_arg_compare, format_parse, format_free, |
| format_get_number_of_directives, format_check, format_print): Likewise. |
| * format-php.c (numbered_arg_compare, format_parse, format_free, |
| format_get_number_of_directives, format_check, format_print): Likewise. |
| * format-python.c (named_arg_compare, format_parse, format_free, |
| format_get_number_of_directives, format_check, format_print): Likewise. |
| * format-tcl.c (numbered_arg_compare, format_parse, format_free, |
| format_get_number_of_directives, format_check, format_print): Likewise. |
| * format-ycp.c (format_parse, format_free, |
| format_get_number_of_directives, format_check, format_print): Likewise. |
| * gettext.c (main, usage, expand_escape): Likewise. |
| * hostname.c (main, usage): Likewise. |
| * message.h (possible_format_p, message_alloc, message_free, |
| message_comment_append, message_comment_dot_append, |
| message_comment_filepos, message_copy, message_list_alloc, |
| message_list_free, message_list_append, message_list_prepend, |
| message_list_delete_nth, message_predicate_ty, |
| message_list_remove_if_not, message_list_search, |
| message_list_search_fuzzy, message_list_list_alloc, |
| message_list_list_free, message_list_list_append, |
| message_list_list_append_list, message_list_list_search, |
| message_list_list_search_fuzzy, msgdomain_alloc, msgdomain_free, |
| msgdomain_list_alloc, msgdomain_list_free, msgdomain_list_append, |
| msgdomain_list_append_list, msgdomain_list_sublist, |
| msgdomain_list_search, msgdomain_list_search_fuzzy): Likewise. |
| * message.c (possible_format_p, message_alloc, message_free, |
| message_comment_append, message_comment_dot_append, |
| message_comment_filepos, message_copy, message_list_alloc, |
| message_list_free, message_list_append, message_list_prepend, |
| message_list_delete_nth, message_list_remove_if_not, |
| message_list_search, message_list_search_fuzzy_inner, |
| message_list_search_fuzzy, message_list_list_free, |
| message_list_list_append, message_list_list_append_list, |
| message_list_list_search, message_list_list_search_fuzzy, |
| msgdomain_alloc, msgdomain_free, msgdomain_list_alloc, |
| msgdomain_list_free, msgdomain_list_append, |
| msgdomain_list_append_list, msgdomain_list_sublist, |
| msgdomain_list_search, msgdomain_list_search_fuzzy): Likewise. |
| * msgattrib.c (main, usage, is_message_selected, process_message_list, |
| process_msgdomain_list): Likewise. |
| * msgcat.c (main, usage): Likewise. |
| * msgcmp.c (main, usage, is_message_selected, remove_obsoletes, |
| match_domain, compare): Likewise. |
| * msgcomm.c (main, usage): Likewise. |
| * msgconv.c (locale_charset, main, usage): Likewise. |
| * msgen.c (main, usage): Likewise. |
| * msgexec.c (main, usage, nonintr_close, process_string, |
| process_message, process_message_list, process_msgdomain_list): |
| Likewise. |
| * msgfilter.c (main, usage, nonintr_close, nonintr_read, nonintr_write, |
| nonintr_select, process_string, process_message, process_message_list, |
| process_msgdomain_list): Likewise. |
| * msgfmt.c (main, usage, add_mo_suffix, new_domain, is_nonobsolete, |
| sigfpe_handler, check_plural_eval, check_plural, check_pair, |
| check_header_entry, format_constructor, format_debrief, |
| format_directive_domain, format_directive_message, |
| format_comment_special, read_po_file): Likewise. |
| * msggrep.c (main, no_pass, usage, filename_list_match, nonintr_close, |
| is_string_selected, is_message_selected, process_message_list, |
| process_msgdomain_list): Likewise. |
| * msginit.c (locale_charset, _nl_locale_name, _nl_expand_alias, main, |
| usage, catalogname_for_locale, language_of_locale, po_revision_date, |
| content_type, fields, get_field, put_field, subst_string, |
| subst_string_list, fill_header): Likewise. |
| * msgl-ascii.h (is_ascii_string, is_ascii_string_list, |
| is_ascii_message, is_ascii_message_list): Likewise. |
| * msgl-ascii.c (is_ascii_string, is_ascii_string_list, |
| is_ascii_message, is_ascii_message_list): Likewise. |
| * msgl-cat.h (catenate_msgdomain_list): Likewise. |
| * msgl-cat.c (is_message_selected, is_message_needed, |
| is_message_first_needed, catenate_msgdomain_list): Likewise. |
| * msgl-charset.h (compare_po_locale_charsets): Likewise. |
| * msgl-charset.c (locale_charset, compare_po_locale_charsets): |
| Likewise. |
| * msgl-english.h (msgdomain_list_english): Likewise. |
| * msgl-english.c (msgdomain_list_english): Likewise. |
| * msgl-equal.h (string_list_equal, message_equal, message_list_equal, |
| msgdomain_list_equal): Likewise. |
| * msgl-equal.c (msgstr_equal, msgstr_equal_ignoring_potcdate, |
| pos_equal, string_list_equal, message_equal, message_list_equal, |
| msgdomain_equal, msgdomain_list_equal): Likewise. |
| * msgl-iconv.h (convert_string, iconv_message_list, |
| iconv_msgdomain_list): Likewise. |
| * msgl-iconv.c (iconv_string, convert_string, convert_string_list, |
| convert_msgid, convert_msgstr, iconv_message_list, |
| iconv_msgdomain_list): Likewise. |
| * msgmerge.c (main, usage, compendium, msgfmt_check_pair_fails, |
| message_merge, match_domain, merge): Likewise. |
| * msgunfmt.c (main, usage): Likewise. |
| * msguniq.c (main, usage): Likewise. |
| * ngettext.c (main, usage, expand_escape): Likewise. |
| * open-po.h (open_po_file): Likewise. |
| * open-po.c (open_po_file): Likewise. |
| * po-charset.h (po_charset_canonicalize, po_charset_ascii_compatible, |
| po_is_charset_weird, po_is_charset_weird_cjk, po_lex_charset_init, |
| po_lex_charset_set, po_lex_charset_close): Likewise. |
| * po-charset.c (po_charset_canonicalize, po_charset_ascii_compatible, |
| po_is_charset_weird, po_is_charset_weird_cjk, po_lex_charset_set): |
| Likewise. |
| * po-gram.h (po_gram_parse): Likewise. |
| * po-hash-gen.y (yyerror, yylex, po_hash): Likewise. |
| * po-hash.h (po_hash): Likewise. |
| * po-lex.h (lex_start, lex_end, lex_open, lex_close, po_gram_lex, |
| po_lex_pass_comments, po_lex_pass_obsolete_entries, po_gram_error, |
| po_gram_error_at_line): Likewise. |
| * po-lex.c: Include <stdarg.h> instead of libstdarg.h. |
| (ALERT_CHAR): Remove macro. |
| (po_gram_error, po_gram_error_at_line): Use ANSI C function |
| declarations. Use va_start instead of VA_START. |
| (memcpy_small, mb_iseof, mb_ptr, mb_len, mb_iseq, mb_isnul, mb_cmp, |
| mb_equal, mb_isascii, mb_width, mb_putc, mb_setascii, mb_copy, |
| mbfile_init, mbfile_getc, mbfile_ungetc, lex_start, lex_open, |
| lex_getc, lex_ungetc, keyword_p, po_lex_pass_comments, |
| po_lex_pass_obsolete_entries): Use ANSI C function declarations. |
| * po-time.h (po_strftime): Likewise. |
| * po-time.c (difftm, po_strftime): Likewise. |
| * po.h (struct po_method_ty, po_alloc, po_scan, po_scan_file, po_free, |
| po_callback_domain, po_callback_message, po_callback_comment, |
| po_callback_comment_dot, po_callback_comment_filepos, |
| po_parse_comment_special): Likewise. |
| * po.c (po_alloc, po_free, po_parse_brief, po_parse_debrief, po_scan, |
| po_scan_file, po_directive_domain, po_callback_domain, |
| po_directive_message, po_callback_message, po_comment_special, |
| po_comment, po_comment_dot, po_callback_comment, po_comment_filepos, |
| po_callback_comment_filepos, po_parse_comment_special): Likewise. |
| * read-java.h (msgdomain_read_java): Likewise. |
| * read-java.c (execute_and_read_po_output, msgdomain_read_java): |
| Likewise. |
| * read-mo.h (read_mo_file): Likewise. |
| * read-mo.c (read_binary_mo_file, get_uint32, get_string, |
| get_sysdep_string, read_mo_file): Likewise. |
| * read-po.h (read_po, read_po_file): Likewise. |
| * read-po.c (readall_constructor, readall_destructor, |
| readall_directive_domain, readall_directive_message, |
| readall_parse_brief, readall_comment, readall_comment_dot, |
| readall_comment_special, readall_comment_filepos, read_po, |
| read_po_file): Likewise. |
| * read-tcl.h (msgdomain_read_tcl): Likewise. |
| * read-tcl.c (msgdomain_read_tcl): Likewise. |
| * str-list.h (string_list_init, string_list_alloc, string_list_append, |
| string_list_append_unique, string_list_destroy, string_list_free, |
| string_list_concat, string_list_concat_destroy, string_list_join, |
| string_list_member): Likewise. |
| * str-list.c (string_list_init, string_list_append, |
| string_list_append_unique, string_list_destroy, string_list_free, |
| string_list_concat, string_list_concat_destroy, string_list_join, |
| string_list_member): Likewise. |
| * urlget.c (main, usage, cat_file, execute_it, fetch): Likewise. |
| * write-java.h (msgdomain_write_java): Likewise. |
| * write-java.c (check_resource_name, string_hashcode, |
| compute_hashsize, compare_index, compute_table_items, |
| write_java_string, write_java_msgstr, write_lookup_code, |
| is_expression_boolean, write_java_expression, write_java_code, |
| cleanup, msgdomain_write_java): Likewise. |
| * write-mo.h (msgdomain_write_mo): Likewise. |
| * write-mo.c (compare_id, write_table, msgdomain_write_mo): Likewise. |
| * write-po.h (message_page_width_set, message_page_width_ignore, |
| message_print_style_indent, message_print_style_uniforum, |
| message_print_style_escape, msgdomain_list_print, |
| msgdomain_list_sort_by_msgid, msgdomain_list_sort_by_filepos): |
| Likewise. |
| * write-po.c (message_page_width_set, message_print_style_escape, |
| make_format_description_string, significant_format_p, |
| has_significant_format_p, make_c_width_description_string, |
| memcpy_small, wrap, print_blank_line, message_print, |
| message_print_obsolete, msgdomain_list_print, cmp_by_msgid, |
| msgdomain_list_sort_by_msgid, cmp_filepos, |
| msgdomain_list_sort_filepos, cmp_by_filepos, |
| msgdomain_list_sort_by_filepos): Likewise. |
| * write-tcl.h (msgdomain_write_tcl): Likewise. |
| * write-tcl.c (write_tcl_string, write_msg, msgdomain_write_tcl): |
| Likewise. |
| * x-awk.h (extract_awk, x_awk_keyword, x_awk_extract_all): Likewise. |
| * x-awk.c (ALERT_CHAR): Remove macro. |
| (x_awk_keyword, phase1_ungetc, phase2_ungetc, free_token, x_awk_lex, |
| extract_parenthesized, extract_awk): Use ANSI C function declarations. |
| * x-c.h (extract_c, x_c_extract_all, x_c_keyword, x_c_any_keywords, |
| x_c_trigraphs): Likewise. |
| * x-c.c (ALERT_CHAR): Remove macro. |
| (x_c_keyword, phase1_ungetc, phase2_ungetc, phase3_ungetc, |
| comment_add, comment_line_end, phase4_ungetc, phase7_ungetc, |
| free_token, phase5_get, phaseX_get, phase6_get, phase6_unget, |
| is_inttypes_macro, phase8a_get, phase8a_unget, phase8_get, x_c_lex, |
| extract_parenthesized, extract_c): Use ANSI C function declarations. |
| * x-elisp.h (extract_elisp, x_elisp_extract_all, x_elisp_keyword): |
| Likewise. |
| * x-elisp.c (ALERT_CHAR): Remove macro. |
| (x_elisp_keyword, do_ungetc, init_token, free_token, grow_token, |
| is_integer, is_float, read_token, comment_add, comment_line_end, |
| free_object, string_of_object, do_getc_escaped, read_object, |
| extract_elisp): Use ANSI C function declarations. |
| * x-glade.h (extract_glade, x_glade_extract_all, x_glade_keyword): |
| Likewise. |
| * x-glade.c (x_glade_keyword, XML_StartElementHandler, |
| XML_EndElementHandler, XML_CharacterDataHandler, XML_CommentHandler, |
| p_XML_ParserCreate, p_XML_SetElementHandler, |
| p_XML_SetCharacterDataHandler, p_XML_SetCommentHandler, p_XML_Parse, |
| p_XML_GetErrorCode, p_XML_GetCurrentLineNumber, |
| p_XML_GetCurrentColumnNumber, p_XML_ParserFree, p_XML_ErrorString, |
| ensure_stack_size, start_element_handler, end_element_handler, |
| character_data_handler, comment_handler, do_extract_glade, |
| extract_glade): Likewise. |
| * x-java.h (extract_java, x_java_keyword, x_java_extract_all): |
| Likewise. |
| * x-java.l (append_char_buf, get_string, destroy_charbuf, |
| update_line_no, strip_ending_spaces, append_strings, isplus, isdot, |
| translate_esc, object_list_destroy, get_num_objects, get_object, |
| add_object, alloc_keyword, tailcmp, do_compare, is_keyword, |
| x_java_keyword, extract_java): Likewise. |
| * x-librep.h (extract_librep, x_librep_extract_all, x_librep_keyword): |
| Likewise. |
| * x-librep.c (ALERT_CHAR): Remove macro. |
| (x_librep_keyword, do_ungetc, init_token, free_token, grow_token, |
| read_token, comment_add, comment_line_end, free_object, |
| string_of_object, do_getc_escaped, read_object, extract_librep): Use |
| ANSI C function declarations. |
| * x-lisp.h (extract_lisp, x_lisp_extract_all, x_lisp_keyword): |
| Likewise. |
| * x-lisp.c (x_lisp_keyword, do_ungetc, syntax_code_of, |
| read_char_syntax, attribute_of, init_token, free_token, grow_token, |
| read_token, has_a_dot, all_a_number, a_letter_to_digit, has_a_digit, |
| has_adjacent_letters, is_potential_number, is_number, upcase_token, |
| downcase_token, case_convert_token, comment_add, comment_line_end, |
| free_object, string_of_object, read_object, extract_lisp): Likewise. |
| * x-php.h (extract_php, x_php_keyword, x_php_extract_all): Likewise. |
| * x-php.c (x_php_keyword, phase1_ungetc, phase2_ungetc, comment_add, |
| comment_line_end, phase3_ungetc, free_token, x_php_lex, |
| extract_parenthesized, extract_php): Likewise. |
| * x-po.h (extract_po): Likewise. |
| * x-po.c (extract_constructor, extract_directive_domain, |
| extract_directive_message, extract_parse_brief, extract_comment, |
| extract_comment_dot, extract_comment_filepos, extract_comment_special, |
| extract_po): Likewise. |
| * x-python.h (extract_python, x_python_keyword, x_python_extract_all): |
| Likewise. |
| * x-python.c (ALERT_CHAR): Remove macro. |
| (x_python_keyword, phase1_ungetc, comment_add, phase2_ungetc, |
| phase7_getuc, phase5_get, phase5_unget, x_python_lex, |
| extract_parenthesized, extract_python): Use ANSI C function |
| declarations. |
| * x-rst.h (extract_rst): Likewise. |
| * x-rst.c (extract_rst): Likewise. |
| * x-smalltalk.h (extract_smalltalk): Likewise. |
| * x-smalltalk.c (phase1_ungetc, comment_add, phase2_get, phase2_unget, |
| x_smalltalk_lex, extract_smalltalk): Likewise. |
| * x-tcl.h (extract_tcl, x_tcl_extract_all, x_tcl_keyword): Likewise. |
| * x-tcl.c (ALERT_CHAR): Remove macro. |
| (x_tcl_keyword, do_ungetc, phase1_ungetc, phase2_pop, phase2_ungetc, |
| init_token, free_token, grow_token, comment_add, free_word, |
| string_of_word, accumulate_word, read_word, read_command, |
| read_command_list, extract_tcl): Use ANSI C function declarations. |
| * x-ycp.h (extract_ycp): Likewise. |
| * x-ycp.c (phase1_ungetc, phase2_ungetc, x_ycp_lex, extract_ycp): |
| Likewise. |
| * xgettext.h (split_keywordspec, xgettext_comment_add, |
| xgettext_comment, xgettext_comment_reset, remember_a_message, |
| remember_a_message_plural): Likewise. |
| * xgettext.c (extractor_func, main, usage, exclude_directive_domain, |
| exclude_directive_message, read_exclusion_file, split_keywordspec, |
| xgettext_comment_add, xgettext_comment, xgettext_open, |
| extract_from_file, remember_a_message, remember_a_message_plural, |
| finalize_header, language_to_extractor, extension_to_language): |
| Likewise. |
| |
| 2002-11-05 Bruno Haible <bruno@clisp.org> |
| |
| Allow non-ASCII msgids in POT files. |
| * po-charset.h (po_charset_utf8): New declaration. |
| * po-charset.c (utf8, po_charset_utf8): New variables. |
| (po_charset_canonicalize): Use po_charset_utf8. |
| * msgl-iconv.h: Include iconv.h. |
| (convert_string): New declaration. |
| * msgl-iconv.c (convert_string): Export function. |
| (convert_msgid): New function. |
| (iconv_message_list): Call it. |
| * xgettext.h: Include iconv.h. |
| (xgettext_global_source_encoding, xgettext_global_source_iconv, |
| xgettext_current_source_encoding, xgettext_current_source_iconv): New |
| declarations. |
| * xgettext.c (xgettext_global_source_encoding, |
| xgettext_global_source_iconv, xgettext_current_source_encoding, |
| xgettext_current_source_iconv): New variables. |
| (long_options): New option --from-code. |
| (main): Initialize xgettext_global_source_encoding. Handle option |
| --from-code. Initialize and destroy xgettext_global_source_iconv. |
| (usage): Document option --from-code. |
| (extract_from_file): Set xgettext_current_source_encoding and |
| xgettext_current_source_iconv. |
| (CONVERT_STRING): New macro. |
| (remember_a_message, remember_a_message_plural): Call CONVERT_STRING. |
| (finalize_header): Set the charset in the header here. |
| * x-glade.c (do_extract_glade): Set xgettext_current_source_encoding. |
| Don't set the result's header charset; this is now done in xgettext.c. |
| * x-python.c (extract_python): Likewise. |
| * x-tcl.c (extract_tcl): Likewise. |
| * write-po.c (message_print, message_print_obsolete): Don't warn about |
| non-ASCII msgids if the file's encoding is UTF-8. |
| * msginit.c (content_type): Add header argument. Use charset UTF-8 |
| if that was already the POT file's encoding. |
| (fields): Update. |
| * msgmerge.c (merge): If the POT file was in UTF-8, convert the |
| definitions to UTF-8. |
| * msgcmp.c (compare): Likewise. |
| |
| 2002-11-01 Bruno Haible <bruno@clisp.org> |
| |
| * msgcmp.c: Include read-po.h. |
| (is_message_selected, remove_obsoletes): New functions. |
| (grammar, compare_constructor, compare_destructor, |
| compare_directive_domain, compare_directive_message): Remove functions. |
| (compare_class_ty): Remove type. |
| (compare_methods): Remove variable. |
| (compare): Use read_po_file instead. |
| |
| 2002-10-14 Bruno Haible <bruno@clisp.org> |
| |
| * project-id: When testing for "GNU $package", ignore libtool, because |
| libtool.m4 calls a package "GNU $package" even if it is not GNU. |
| Reported by Andrew Suffield <asuffield@debian.org>. |
| |
| 2002-10-03 Bruno Haible <bruno@clisp.org> |
| |
| * msgl-equal.h (message_equal, message_list_equal, |
| msgdomain_list_equal): Add 'ignore_potcdate' argument. |
| * msgl-equal-c (msgstr_equal, msgstr_equal_ignoring_potcdate): New |
| functions. |
| (message_equal, message_list_equal, msgdomain_equal, |
| msgdomain_list_equal): Add 'ignore_potcdate' argument. |
| * msgmerge.c (main): Call msgdomain_list_equal with ignore_potcdate = |
| true. |
| |
| 2002-09-09 Bruno Haible <bruno@clisp.org> |
| |
| * x-smalltalk.h: New file. |
| * x-smalltalk.c: New file. |
| * xgettext.c: Include x-smalltalk.h. |
| (usage): Mention Smalltalk language. |
| (language_to_extractor): Add Smalltalk support. |
| (extension_to_language): Likewise. |
| * Makefile.am (noinst_HEADERS): Add x-smalltalk.h. |
| (xgettext_SOURCES): Add x-smalltalk.c. |
| |
| 2002-08-18 Bruno Haible <bruno@clisp.org> |
| |
| * message.h (enum format_type): New enum value 'format_php'. |
| (NFORMATS): Increment. |
| * message.c (format_language, format_language_pretty): Add entry |
| for php. |
| * format.h (formatstring_php): New declaration. |
| * format-php.c: New file. |
| * format.c (formatstring_parsers): Add entry for php. |
| * x-php.h: New file. |
| * x-php.c: New file. |
| * xgettext.c: Include x-php.c. |
| (main): Call x_php_extract_all, x_php_keyword. |
| (language_to_scanner): Add PHP rule. |
| (extension_to_language): Add PHP rule. |
| * Makefile.am (noinst_HEADERS): Add x-php.h. |
| (FORMAT_SOURCE): Add format-php.c. |
| (xgettext_SOURCES): Add x-php.c. |
| |
| 2002-08-17 Bruno Haible <bruno@clisp.org> |
| |
| * urlget.c (fetch): Also try invoking the 'curl' program. |
| |
| 2002-08-06 Bruno Haible <bruno@clisp.org> |
| |
| * gettext-0.11.5 released. |
| |
| 2002-08-02 Bruno Haible <bruno@clisp.org> |
| |
| * read-mo.c (get_sysdep_string): Make the error message easier to |
| translate. |
| |
| 2002-07-25 Bruno Haible <bruno@clisp.org> |
| |
| * gettext-0.11.4 released. |
| |
| 2002-07-21 Bruno Haible <bruno@clisp.org> |
| |
| * format.h (struct interval): New type. |
| (get_c99_format_directives): New declaration. |
| * format-c.c (FAT_SIZE_8_T, FAT_SIZE_16_T, FAT_SIZE_32_T, |
| FAT_SIZE_64_T, FAT_SIZE_LEAST8_T, FAT_SIZE_LEAST16_T, |
| FAT_SIZE_LEAST32_T, FAT_SIZE_LEAST64_T, FAT_SIZE_FAST8_T, |
| FAT_SIZE_FAST16_T, FAT_SIZE_FAST32_T, FAT_SIZE_FAST64_T, |
| FAT_SIZE_INTPTR_T): New enum values. |
| (FAT_SIZE_MASK): Update. |
| (struct spec): New fields c99_directives_count, c99_directives. |
| (format_parse): Recognize C 99 <inttypes.h> macros. Set the new |
| fields c99_directives_count, c99_directives in the result. |
| (get_c99_format_directives): New function. |
| (format_print): Update. |
| * x-c.c (is_inttypes_macro, phase8a_get, phase8a_unget): New functions. |
| (phase8_get): Use phase8a_get instead of phase6_get. |
| * write-mo.c: Include format.h, xmalloc.h. |
| (freea): New macro. |
| (struct pre_string): New type. |
| (struct pre_message): Renamed from struct id_str_pair. |
| (compare_id): Update. |
| (struct pre_sysdep_segment): New type. |
| (struct pre_segment_pair): New type. |
| (struct pre_sysdep_string): New type. |
| (struct pre_sysdep_message): New type. |
| (write_table): Rewritten. |
| * read-mo.c (endian): Remove variable. |
| (read32, seek32, string32): Remove functions. |
| (struct binary_mo_file): New type. |
| (read_binary_mo_file, get_uint32, get_string, get_sysdep_string): New |
| functions. |
| (read_mo_file): Reworked to work in-memory, without fseek/lseek calls. |
| * msgfmt.c (format_directive_message): Copy the is_format array. |
| Needed by write-mo.c. |
| |
| 2002-07-20 Andreas Schwab <schwab@suse.de> |
| |
| * plural-eval.c: Include <signal.h> if !INTDIV0_RAISES_SIGFPE. |
| |
| 2002-07-17 Bruno Haible <bruno@clisp.org> |
| |
| * gettext-0.11.3 released. |
| |
| 2002-07-17 Bruno Haible <bruno@clisp.org> |
| |
| * dir-list.c: Include stdlib.h. |
| |
| 2002-07-16 Bruno Haible <bruno@clisp.org> |
| |
| * read-java.c (msgdomain_read_java): Pass $GETTEXTJEXEDIR to |
| execute_java_class. |
| * urlget.c (fetch): Likewise. |
| * Makefile.am (DEFS): Define USEJEXE and GETTEXTJEXEDIR. |
| (GCJ, GCJFLAGS, USEJEXE): New variables. |
| (all-java*): Renamed to take into account BUILDJAVAEXE. |
| (install-data-java*): Likewise. |
| (installdirs-java*): Likewise. |
| (uninstall-java*): Likewise. |
| (install-exec-*): New rules. |
| (gnu.gettext.DumpResource, gnu.gettext.GetURL): New rules. |
| (CLEANFILES): Add them. |
| |
| 2002-07-16 Bruno Haible <bruno@clisp.org> |
| |
| * project-id: Make it work when the configure file was generated by |
| autoconf-2.52 with AC_INIT and AM_INIT_AUTOMAKE(...). |
| |
| 2002-06-14 Bruno Haible <bruno@clisp.org> |
| |
| * po-lex.c (mbfile_getc): Handle the case where iconv converts |
| some character and returns -1 at once; this can happen immediately |
| after an invalid multibyte sequence. |
| Reported by Andrew V. Samoilov <kai@cmail.ru>. |
| |
| 2002-06-08 Bruno Haible <bruno@clisp.org> |
| |
| * user-email.in: Look at /etc/sysconfig/mail, found on SuSE Linux. |
| Suggested by Karl Eichwalder <ke@suse.de>. |
| |
| 2002-06-07 Bruno Haible <bruno@clisp.org> |
| |
| * user-email.in: Look at /etc/mailname, found on Debian systems. |
| Suggested by Mark W. Eichin <eichin@thok.org>. |
| |
| 2002-06-07 Bruno Haible <bruno@clisp.org> |
| |
| * msgfmt.c (install_sigfpe_handler): Assume the signal is always |
| SIGFPE, regardless of the platform. |
| (uninstall_sigfpe_handler): Likewise. |
| |
| 2002-05-29 Bruno Haible <bruno@clisp.org> |
| |
| * dir-list.h (dir_list_save_reset, dir_list_restore): New declarations. |
| * dir-list.c (dir_list_save_reset, dir_list_restore): New functions. |
| * xgettext.c (main): Temporarily reset the dir_list while opening |
| reading the contents of the output file. |
| Reported by Mark Eichin <eichin@thok.org>. |
| |
| 2002-05-22 Bruno Haible <bruno@clisp.org> |
| |
| * msgl-iconv.h (iconv_message_list): Add from_filename argument. |
| (iconv_msgdomain_list): Likewise. |
| * msgl-iconv.c (iconv_message_list): Add from_filename argument. |
| Don't give an error for POT files containing charset=CHARSET. |
| (iconv_msgdomain_list): Add from_filename argument. |
| * msgl-cat.c (catenate_msgdomain_list): Don't give an error for |
| POT files containing charset=CHARSET. Pass input file name to |
| iconv_message_list. |
| * msgconv.c (main): Pass input file name to iconv_msgdomain_list. |
| * write-java.c (msgdomain_write_java): Update. |
| * write-tcl.c (msgdomain_write_tcl): Update. |
| * x-glade.c (do_extract_glade): Update. |
| * x-python.c (extract_python): Update. |
| * x-tcl.c (extract_tcl): Update. |
| |
| 2002-05-18 Bruno Haible <bruno@clisp.org> |
| |
| * Makefile.am (RM): New variable. |
| (install-exec-am): Depend on install-exec-clean. |
| (install-exec-clean): New rule. |
| |
| 2002-05-14 Bruno Haible <bruno@clisp.org> |
| |
| * write-po.c (wrap): Canonicalize the charset. Handle the case when |
| po_charset_canonicalize returns NULL. |
| Reported by Jan-Marek Glogowski <glogow@stud.fbi.fh-darmstadt.de>. |
| |
| 2002-05-12 Bruno Haible <bruno@clisp.org> |
| |
| * po-charset.c (po_charset_canonicalize): Add ISO-8859-14, KOI8-T, |
| GEORGIAN-PS to the list of allowed encodings. |
| |
| 2002-04-30 Bruno Haible <bruno@clisp.org> |
| |
| * hostname.c (ipv6_ntop): Provide a fallback definition for systems |
| that define s6_addr but no s6_addr16 element of 'struct in6_addr'. |
| Reported by Perry Rapp <PRapp@smartronix.com>. |
| |
| 2002-04-28 Bruno Haible <bruno@clisp.org> |
| |
| * project-id: Recognize package name and version when given by a |
| two-argument AC_INIT invocation (autoconf 2.52 and newer). |
| |
| 2002-04-24 Bruno Haible <bruno@clisp.org> |
| |
| * gettext-0.11.2 released. |
| |
| 2002-04-23 Bruno Haible <bruno@clisp.org> |
| |
| * write-po.h (message_page_width_ignore): New declaration. |
| * write-po.c (wrap_strings): New variable. |
| (message_page_width_ignore): New function. |
| (wrap): Ignore the do_wrap argument if wrap_strings is false. |
| * msgattrib.c (long_options): Add --no-wrap option. |
| (main): Handle option --no-wrap. |
| (usage): Document option --no-wrap. |
| * msgcat.c: Likewise. |
| * msgcomm.c: Likewise. |
| * msgconv.c: Likewise. |
| * msgen.c: Likewise. |
| * msgfilter.c: Likewise. |
| * msggrep.c: Likewise. |
| * msginit.c: Likewise. |
| * msgmerge.c: Likewise. |
| * msgunfmt.c: Likewise. |
| * msguniq.c: Likewise. |
| * xgettext.c: Likewise. |
| |
| 2002-04-19 Bruno Haible <bruno@clisp.org> |
| |
| * msginit.c (catalogname_for_locale): Add wa_BE. Change Javanese from |
| jw to jv. |
| |
| 2002-04-15 Bruno Haible <bruno@clisp.org> |
| |
| * po-lex.h (po_gram_error): Treat Apple's version of GCC like non-GCC. |
| * po-lex.c (po_gram_error): Likewise. |
| Reported by Richard S. Blake <blakers@presence-group.com>. |
| |
| 2002-04-04 Bruno Haible <bruno@clisp.org> |
| |
| * po-lex.h (po_gram_error): Use __VA_ARGS__ + 0 instead of __VA_ARGS__. |
| (po_gram_error_at_line): LIkewise. |
| Fixes syntax error when __VA_ARGS__ is empty. |
| Reported by Trond Eivind Glomsrød <teg@redhat.com>. |
| |
| 2002-04-04 Bruno Haible <bruno@clisp.org> |
| |
| * msginit.c (find_pot): Add dummy return, to avoid gcc warning. |
| |
| 2002-03-12 Bruno Haible <bruno@clisp.org> |
| |
| * gettext-0.11.1 released. |
| |
| 2002-03-10 Bruno Haible <bruno@clisp.org> |
| |
| * x-python.c (phase7_getuc): Change type of buf to 'unsigned char[]'. |
| |
| 2002-03-07 Bruno Haible <bruno@clisp.org> |
| |
| * Makefile.am (msginit_LDADD): Use @INTL_LIBTOOL_SUFFIX_PREFIX@o |
| instead of $(OBJEXT). |
| |
| 2002-03-05 Bruno Haible <bruno@clisp.org> |
| |
| * hostname.c (s6_addr16): Define if not defined by the system. |
| (ipv6_ntop): Use s6_addr16 instead of in6_u.u6_addr16. |
| |
| 2002-03-05 Bruno Haible <bruno@clisp.org> |
| |
| * xgettext.c (usage): Mention languages Python, awk, Tcl, RST, Glade. |
| |
| 2002-03-03 Bruno Haible <bruno@clisp.org> |
| |
| * message.h (format_type): New enum value 'format_tcl'. |
| (NFORMATS): Increment. |
| * message.c (format_language): Add format_tcl entry. |
| (format_language_pretty): Likewise. |
| * format.h (formatstring_tcl): New declaration. |
| * format-tcl.c: New file. |
| * format.c (formatstring_parsers): Add formatstring_tcl. |
| * x-tcl.h: New file. |
| * x-tcl.c: New file. |
| * xgettext.c: Include x-tcl.h. |
| (main): Call x_tcl_extract_all, x_tcl_keyword. |
| (language_to_scanner): Add Tcl rule. |
| (extension_to_language): Add Tcl rule. |
| * write-tcl.h: New file. |
| * write-tcl.c: New file. |
| * msgfmt.c: Include write-tcl.h. |
| (tcl_mode, tcl_locale_name, tcl_base_directory): New variables. |
| (long_options): Add option "--tcl". |
| (main): Handle --tcl option. Set tcl_mode, tcl_locale_name, |
| tcl_base_directory. More checks for contradicting options. Call |
| msgdomain_write_tcl. |
| (usage): Mention Tcl mode. |
| (format_directive_domain): Ignore domain directive if in Tcl mode. |
| * read-tcl.h: New file. |
| * read-tcl.c: New file. |
| * msgunfmt.c: Include read-tcl.h. |
| (tcl_mode, tcl_locale_name, tcl_base_directory): New variables. |
| (long_options): Add option "--tcl". |
| (main): Handle --tcl and -d options. Set tcl_mode, tcl_locale_name, |
| tcl_base_directory. More checks for contradicting options. Call |
| msgdomain_read_tcl. |
| (usage): Mention Tcl mode. |
| * msgunfmt.tcl: New file. |
| * Makefile.am (noinst_HEADERS): Add read-tcl.h, write-tcl.h, x-tcl.h. |
| (EXTRA_DIST): Add msgunfmt.tcl. |
| (DEFS): Add -DGETTEXTDATADIR. |
| (FORMAT_SOURCE): Add format-tcl.c. |
| (msgfmt_SOURCES): Add write-tcl.c. |
| (msgunfmt_SOURCES): Add read-tcl.c. |
| (xgettext_SOURCES): Add x-tcl.c. |
| (install-tcl, installdirs-tcl, uninstall-tcl): New targets. |
| |
| 2002-03-02 Bruno Haible <bruno@clisp.org> |
| |
| * msgfmt.c (check_pair): Don't count "&&" as an accelerator designator, |
| for consistency with Qt and KDE. |
| |
| 2002-02-24 Bruno Haible <bruno@clisp.org> |
| |
| * po-lex.c: Include libstdarg.h. |
| (VA_START, va_alist, va_dcl): Remove macros. |
| (po_gram_error): Modernize varargs handling. Fix memory leak. |
| (po_gram_error_at_line): Likewise. |
| |
| 2002-02-21 Bruno Haible <bruno@clisp.org> |
| |
| * msggrep.c: Include liballoca.h. |
| (grep_args): Add a third one. |
| (grep_argv): Likewise. |
| (long_options): Add --comment option. |
| (main): Handle option --comment/-C. |
| (usage): Document option -C. |
| (is_message_selected): If option -C is given, concatenate the |
| translator comments and run a third grep pass on the result. |
| |
| 2002-02-09 Bruno Haible <bruno@clisp.org> |
| |
| * message.h (possible_format_p): Change return type to bool. |
| * message.c (possible_format_p): Likewise. |
| |
| 2002-01-14 Bruno Haible <bruno@clisp.org> |
| |
| * x-glade.h: New file. |
| * x-glade.c: New file. |
| * xgettext.c: Include x-glade.h. |
| (main): Call x_glade_extract_all, x_glade_keyword. |
| (language_to_scanner): Add glade rule. |
| (extension_to_language): Add glade rule. |
| * Makefile.am (noinst_HEADERS): Add x-glade.h. |
| (xgettext_SOURCES): Add x-glade.c. |
| (xgettext_LDADD): Add @LTLIBEXPAT@. |
| |
| 2002-01-27 Bruno Haible <bruno@clisp.org> |
| |
| * message.h (format_type): New enum value 'format_awk'. |
| (NFORMATS): Increment. |
| * message.c (format_language): Add format_awk entry. |
| (format_language_pretty): Likewise. |
| * format.h (formatstring_awk): New declaration. |
| * format-awk.c: New file. |
| * format.c (formatstring_parsers): Add formatstring_awk. |
| * x-awk.h: New file. |
| * x-awk.c: New file. |
| * xgettext.c: Include x-awk.h. |
| (main): Call x_awk_extract_all, x_awk_keyword. |
| (language_to_scanner): Add awk rule. |
| (extension_to_language): Add awk rule. |
| * Makefile.am (noinst_HEADERS): Add x-awk.h. |
| (FORMAT_SOURCE): Add format-awk.c. |
| (xgettext_SOURCES): Add x-awk.c. |
| |
| 2002-02-02 Bruno Haible <bruno@clisp.org> |
| |
| * x-python.h: New file. |
| * x-python.c: New file. |
| * xgettext.c: Include x-python.h. |
| (main): Call x_python_extract_all, x_python_keyword. |
| (language_to_scanner): Add Python rule. |
| (extension_to_language): Add Python rule. |
| * Makefile.am (noinst_HEADERS): Add x-python.h. |
| (INCLUDES): Add -I$(top_srcdir)/libuniname. |
| (LIBUNINAME): New variable. |
| (xgettext_SOURCES): Add x-python.c. |
| (xgettext_LDADD): Add $(LIBUNINAME). |
| |
| 2002-02-03 Bruno Haible <bruno@clisp.org> |
| |
| * msgfmt.c (check_header_entry): Terminate the error strings with |
| newlines. |
| |
| 2002-02-03 Bruno Haible <bruno@clisp.org> |
| |
| * plural-table.h: New file. |
| * plural-table.c: New file. |
| * msginit.c: Include plural-table.h. |
| (plural_forms): Use plural_table. |
| * msgfmt.c: Include plural-table.h. |
| (check_plural): Print a recommendation about the right plural formula. |
| * Makefile.am (noinst_HEADERS): Add plural-table.h. |
| (libgettextsrc_la_SOURCES): Add plural-table.c. |
| |
| 2002-02-03 Bruno Haible <bruno@clisp.org> |
| |
| * xgettext.c (finalize_header): New function. |
| (main): Call it. |
| |
| 2002-02-03 Bruno Haible <bruno@clisp.org> |
| |
| * msginit.c (fill_header): Also replace "PACKAGE" in the comment. |
| |
| 2002-02-02 Bruno Haible <bruno@clisp.org> |
| |
| * Makefile.am (INCLUDES): Add -I../lib. Needed for builds with |
| builddir != srcdir on platforms that don't have fnmatch and stdbool.h. |
| |
| 2002-01-31 Bruno Haible <bruno@clisp.org> |
| |
| * gettext-0.11 released. |
| |
| 2002-01-31 Bruno Haible <bruno@clisp.org> |
| |
| * plural-eval.h: Include eval-plural.h instead of plural-eval.c. |
| |
| 2002-01-30 Bruno Haible <bruno@clisp.org> |
| |
| Make the gettext and ngettext programs independent of libgettextlib. |
| * Makefile.am (gettext_LDADD, ngettext_LDADD): New variables. |
| |
| 2002-01-27 Bruno Haible <bruno@clisp.org> |
| |
| * x-ycp.c (enum token_type_ty): New enum value token_type_symbol. |
| (x_ycp_lex): Assign a value to tp->string if and only if the type is |
| token_type_string_literal or token_type_symbol. |
| (extract_ycp): Simplify cleanup. |
| |
| 2002-01-27 Bruno Haible <bruno@clisp.org> |
| |
| * x-java.l (extract_java): Don't create a plural message if the |
| function can take two string argument but actually has only one |
| string argument. |
| |
| 2002-01-27 Bruno Haible <bruno@clisp.org> |
| |
| * x-lisp.c (extract_lisp): Free memory allocated in toplevel_object. |
| * x-elisp.c (string_of_object): Use memcpy. |
| (extract_elisp): Free memory allocated in toplevel_object. |
| * x-librep.c (string_of_object): Use memcpy. |
| (extract_librep): Free memory allocated in toplevel_object. |
| |
| 2002-01-27 Bruno Haible <bruno@clisp.org> |
| |
| * x-c.c (ALERT_CHAR): New macro. |
| (phase7_getc): Accept \a and \v as well. |
| |
| * x-c.c (free_token): New inline function. |
| (phase6_get): Use it. |
| |
| 2002-01-27 Bruno Haible <bruno@clisp.org> |
| |
| * format-elisp.c (format_check): Don't use Java syntax for format |
| argument number in error message. |
| * format-librep.c (format_check): Likewise. |
| * format-pascal.c (format_check): Likewise. |
| |
| 2002-01-24 Bruno Haible <bruno@clisp.org> |
| |
| * Makefile.am (LDADD): Use @LTLIBINTL@ instead of @INTLLIBS@. |
| (libgettextsrc_la_LDFLAGS): Likewise. Use @LTLIBICONV@ instead of |
| @LIBICONV@. |
| |
| 2002-01-21 Bruno Haible <bruno@clisp.org> |
| |
| * msggrep.c (main): On SunOS4, don't pass option "-q" to grep. |
| |
| 2002-01-19 Bruno Haible <bruno@clisp.org> |
| |
| * msgfmt.c (check_header_entry): Emit error messages including the |
| file name. |
| |
| 2002-01-19 Bruno Haible <bruno@clisp.org> |
| |
| * open-po.c (open_po_file): Use 'size_t' instead of 'int'. |
| * x-java.l (translate_esc): Likewise. |
| * read-mo.c (read_mo_file): Use 'unsigned int' instead of 'int'. |
| |
| 2002-01-13 Bruno Haible <bruno@clisp.org> |
| |
| * msgl-iconv.c (iconv_message_list): Don't complain by a nonportable |
| encoding name if it has been overridden by an argument canon_from_code. |
| |
| 2002-01-13 Bruno Haible <bruno@clisp.org> |
| |
| * msgl-ascii.c (is_ascii_message): Don't consider a message as being |
| ASCII if its msgid or msgid_plural is not ASCII. |
| |
| 2002-01-12 Bruno Haible <bruno@clisp.org> |
| |
| * gettext.c (main): Update year in --version output. |
| * ngettext.c (main): Likewise. |
| * msgattrib.c (main): Likewise. |
| * 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. |
| * msggrep.c (main): Likewise. |
| * msginit.c (main): Likewise. |
| * msgmerge.c (main): Likewise. |
| * msgunfmt.c (main): Likewise. |
| * msguniq.c (main): Likewise. |
| * xgettext.c (main): Likewise. |
| |
| 2002-01-11 Bruno Haible <bruno@clisp.org> |
| |
| * write-po.c: Include po-charset.h. |
| |
| 2002-01-11 Bruno Haible <bruno@clisp.org> |
| |
| * msgfmt.c (install_sigfpe_handler, uninstall_sigfpe_handler): On AIX, |
| treat SIGTRAP like SIGFPE. |
| |
| 2002-01-09 Bruno Haible <bruno@clisp.org> |
| |
| * msgfmt.c (USE_SIGINFO): New macro. |
| (sigfpe_code, sigfpe_handler, install_sigfpe_handler, |
| uninstall_sigfpe_handler, check_plural_eval): Use USE_SIGINFO instead |
| of HAVE_SIGINFO. |
| (install_sigfpe_handler, uninstall_sigfpe_handler): On Irix, treat |
| SIGTRAP like SIGFPE. |
| |
| 2002-01-09 Bruno Haible <bruno@clisp.org> |
| |
| * x-java.l (strip_ending_spaces): Fix logic. |
| |
| 2002-01-09 Tommy Johansson <tommy.johansson@kanalen.org> |
| |
| * x-java.l: Avoid endless loop when encountering unterminated string. |
| |
| 2002-01-08 Bruno Haible <bruno@clisp.org> |
| |
| * message.h (format_type): New enum value 'format_elisp'. |
| (NFORMATS): Increment. |
| * message.c (format_language): Add format_elisp entry. |
| (format_language_pretty): Likewise. |
| * format.h (formatstring_elisp): New declaration. |
| * format-elisp.c: New file. |
| * format.c (formatstring_parsers): Add formatstring_elisp. |
| * x-elisp.h: New file. |
| * x-elisp.c: New file. |
| * xgettext.c: Include x-elisp.h. |
| (main): Call x_elisp_extract_all, x_elisp_keyword. |
| (usage): Mention the languages Lisp, EmacsLisp, librep. |
| (language_to_scanner): Add elisp rule. |
| (extension_to_language): Add elisp rule. |
| * Makefile.am (noinst_HEADERS): Add x-elisp.h. |
| (FORMAT_SOURCE): Add format-elisp.c. |
| (xgettext_SOURCES): Add x-elisp.c. |
| |
| 2002-01-06 Bruno Haible <bruno@clisp.org> |
| |
| * x-librep.c (read_object): Fix handling of #[ and #(. |
| |
| 2002-01-06 Bruno Haible <bruno@clisp.org> |
| |
| * x-lisp.c (read_object): Treat ',.' like ',@'. |
| |
| 2002-01-05 Bruno Haible <bruno@clisp.org> |
| |
| Make "msgmerge --update" work better on CJK files even if iconv() is |
| not available. |
| * po-charset.h (po_is_charset_weird): New declaration. |
| (po_is_charset_weird_cjk): Likewise.. |
| (po_lex_weird_cjk): New variable declaration. |
| * po-charset.c (po_is_charset_weird): New function, extracted from |
| po_lex_charset_set. |
| (po_is_charset_weird_cjk): New function. |
| (po_lex_weird_cjk): New variable. |
| (po_lex_charset_init): Initialize po_lex_weird_cjk. |
| (po_lex_charset_set): Call po_is_charset_weird and |
| po_is_charset_weird_cjk. Set po_lex_weird_cjk. |
| (po_lex_charset_close): Reset po_lex_weird_cjk. |
| * po-lex.c (mbfile_getc): If po_lex_weird_cjk is set, possibly return |
| a double byte instead of single byte. |
| * write-po.c (wrap): Call po_is_charset_weird_cjk. If it returns true, |
| group double bytes where possible. |
| |
| 2002-01-05 Bruno Haible <bruno@clisp.org> |
| |
| * gettext.c: TESTS version is now separate. |
| |
| 2002-01-05 Bruno Haible <bruno@clisp.org> |
| |
| * x-java.l (extract_java): Avoid "uninitialized variable" warnings. |
| Free a temporary string. |
| |
| 2002-01-05 Bruno Haible <bruno@clisp.org> |
| |
| * Makefile.am (libgettextsrc_la_LDFLAGS): Add -lc. Needed on AIX. |
| |
| 2002-01-05 Bruno Haible <bruno@clisp.org> |
| |
| * x-c.c (buflen): Make static. |
| * x-librep.c (buflen): Likewise. |
| * x-lisp.c (buflen): Likewise. |
| |
| 2001-12-23 Bruno Haible <bruno@clisp.org> |
| |
| * msgexec.c (process_string): Use xsetenv instead of setenv. |
| * msginit.c (canonical_locale_charset): Likewise. |
| (get_title): Likewise. |
| |
| 2001-12-22 Bruno Haible <bruno@clisp.org> |
| |
| * dir-list.c: Include <stddef.h> instead of <stdlib.h>. |
| * xgettext.h: Likewise. |
| * file-list.c: Include exit.h instead of system.h. |
| * gettext.c: Likewise. |
| * hostname.c: Likewise. |
| * msgattrib.c: Likewise. |
| * msgcat.c: Likewise. |
| * msgcomm.c: Likewise. |
| * msgconv.c: Likewise. |
| * msgexec.c: Likewise. |
| * msgunfmt.c: Likewise. |
| * msguniq.c: Likewise. |
| * ngettext.c: Likewise. |
| * read-java.c: Likewise. |
| * x-ycp.c: Likewise. |
| * msgcmp.c: Include exit.h instead of system.h. Don't include |
| str-list.h. |
| * msgfilter.c: Likewise. |
| * msgen.c: Include exit.h instead of system.h. Don't include xmalloc.h. |
| * msgfmt.c: Include exit.h, stpcpy.h instead of system.h. Don't |
| include <errno.h>, getline.h. |
| * msggrep.c: Include exit.h instead of system.h. Don't include |
| <fcntl.h>. |
| * msginit.c: Include liballoca.h, <limits.h>, exit.h, pathname.h |
| instead of system.h. |
| * msgl-cat.c: Include liballoca.h, exit.h instead of system.h. |
| Include <stddef.h> instead of <stdlib.h>. |
| * msgl-charset.c: Likewise. |
| * msgl-iconv.c: Include liballoca.h, exit.h instead of system.h. |
| * write-po.c: Likewise. |
| * msgmerge.c: Include liballoca.h, exit.h, strcase.h, stpcpy.h, |
| stpncpy.h instead of system.h. |
| * format-java.c: Include liballoca.h instead of system.h. |
| * format-lisp.c: Don't include system.h. |
| * open-po.c: Include pathname.h, xmalloc.h instead of system.h. |
| Don't include <sys/types.h>, error.h. |
| * po-charset.c: Include liballoca.h, string.h, strcase.h instead of |
| system.h. Don't include error.h. Include progname.h. |
| (program_name): Remove declaration. |
| * po-gram-gen.y: Include <string.h>. |
| * po-hash-gen.y: Include <string.h>. |
| * po-lex.c: Include exit.h instead of system.h. Don't include |
| <sys/types.h>. |
| * read-mo.c: Include binary-io.h, exit.h instead of system.h. |
| Include <stddef.h> instead of <stdlib.h>. |
| * urlget.c: Include <unistd.h>, binary-io.h, exit.h instead of |
| system.h. |
| (O_BINARY): Remove fallback definition. |
| * write-java.c: Include liballoca.h, pathname.h instead of system.h. |
| * write-mo.c: Include liballoca.h, binary-io.h, exit.h instead of |
| system.h. Don't include msgfmt.h. |
| * x-c.c: Include exit.h instead of system.h. Don't include <ctype.h>. |
| * x-librep.c: Include exit.h instead of system.h. Include hash.h. |
| * x-lisp.c: Likewise. |
| * x-rst.c: Include exit.h instead of system.h. Include <stddef.h> |
| instead of <stdlib.h>. |
| * xgettext.c: Include <string.h>, exit.h, pathname.h, strcase.h, |
| stpcpy.h instead of system.h. Include str-list.h. Don't include |
| <sys/param.h>, <pwd.h>, <sys/types.h>, <unistd.h>, getline.h. |
| (getpwuid): Remove declaration. |
| |
| 2001-12-21 Bruno Haible <bruno@clisp.org> |
| |
| * format-lisp.c: Include minmax.h. |
| |
| 2001-12-21 Bruno Haible <bruno@clisp.org> |
| |
| * file-list.c: Include gettext.h instead of libgettext.h. |
| * format-c.c: Likewise. |
| * format-java.c: Likewise. |
| * format-librep.c: Likewise. |
| * format-lisp.c: Likewise. |
| * format-pascal.c: Likewise. |
| * format-python.c: Likewise. |
| * format-ycp.c: Likewise. |
| * gettext.c: Likewise. |
| * hostname.c: Likewise. |
| * msgattrib.c: Likewise. |
| * msgcat.c: Likewise. |
| * msgcmp.c: Likewise. |
| * msgcomm.c: Likewise. |
| * msgconv.c: Likewise. |
| * msgen.c: Likewise. |
| * msgexec.c: Likewise. |
| * msgfilter.c: Likewise. |
| * msgfmt.c: Likewise. |
| * msggrep.c: Likewise. |
| * msginit.c: Likewise. |
| * msgl-cat.c: Likewise. |
| * msgl-charset.c: Likewise. |
| * msgl-iconv.c: Likewise. |
| * msgmerge.c: Likewise. |
| * msgunfmt.c: Likewise. |
| * msguniq.c: Likewise. |
| * ngettext.c: Likewise. |
| * open-po.c: Likewise. |
| * po-charset.c: Likewise. |
| * po-gram-gen.y: Likewise. |
| * po-lex.c: Likewise. |
| * read-java.c: Likewise. |
| * read-mo.c: Likewise. |
| * read-po.c: Likewise. |
| * urlget.c: Likewise. |
| * write-java.c: Likewise. |
| * write-mo.c: Likewise. |
| * write-po.c: Likewise. |
| * x-c.c: Likewise. |
| * x-librep.c: Likewise. |
| * x-lisp.c: Likewise. |
| * x-po.c: Likewise. |
| * x-rst.c: Likewise. |
| * x-ycp.c: Likewise. |
| * xgettext.c: Likewise. |
| |
| 2001-12-21 Bruno Haible <bruno@clisp.org> |
| |
| * message.h (message_merge): Remove declaration. |
| * message.c (msgfmt_check_pair_fails, message_merge): Move to |
| msgmerge.c. |
| * msgmerge.c (msgfmt_check_pair_fails, message_merge): Moved to here |
| from message.c. |
| |
| 2001-12-20 Bruno Haible <bruno@clisp.org> |
| |
| * format-java.c: Include system.h. |
| * format-lisp.c (parse_upto): Fix prototype. char promotes to int. |
| * po-lex.c (mb_iseq, mb_setascii): Likewise. |
| * po-hash-gen.y: alloca fix for AIX 3. |
| * x-lisp.c (syntax_code_of, read_char_syntax, attribute_of, is_number): |
| Move prototypes, to avoid compilation errors on AIX 3. |
| (syntax_code_of, attribute_of): Fix prototype. unsigned char promotes |
| to int. |
| * x-java.l (TOKEN_TYPE): Remove trailing comma in enum. |
| (PARSER_STATE): Likewise. |
| * msgfilter.c: Include <sys/select.h> on AIX. |
| |
| 2001-12-12 Bruno Haible <bruno@clisp.org> |
| |
| * xgettext.c: Include <limits.h>. |
| (copyright_holder): New variable. |
| (foreign_user): Remove variable. |
| (long_options): Add --copyright-holder option. |
| (main): Implement --copyright-holder option. |
| (usage): Document --copyright-holder option. |
| (construct_header): Use the copyright_holder variable. If it is |
| empty, add a "public domain" comment. |
| |
| 2001-12-17 Bruno Haible <bruno@clisp.org> |
| |
| * msggrep.c: Include <fnmatch.h>. |
| (filename_list_match): New function. |
| (is_message_selected): Use it instead of string_list_member. |
| |
| 2001-12-16 Bruno Haible <bruno@clisp.org> |
| |
| * message.h (format_type): New enum value 'format_librep'. |
| (NFORMATS): Increment. |
| * message.c (format_language): Add format_librep entry. |
| (format_language_pretty): Likewise. |
| * format.h (formatstring_librep): New declaration. |
| * format-librep.c: New file. |
| * format.c (formatstring_parsers): Add formatstring_librep. |
| * x-librep.h: New file. |
| * x-librep.c: New file. |
| * xgettext.c: Include x-librep.h. |
| (main): Call x_librep_extract_all, x_librep_keyword. |
| (language_to_scanner): Add librep rule. |
| (extension_to_language): Add librep rule. |
| * Makefile.am (noinst_HEADERS): Add x-librep.h. |
| (FORMAT_SOURCE): Add format-librep.c. |
| (xgettext_SOURCES): Add x-librep.c. |
| |
| 2001-12-15 Bruno Haible <bruno@clisp.org> |
| |
| * msgfmt.c (check_plural): Use ngettext for two messages. |
| Reported by Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>. |
| |
| 2001-12-15 Bruno Haible <bruno@clisp.org> |
| |
| * xgettext.c (remember_a_message_plural): Mark the message as xx-format |
| if the English plural form has xx format syntax and the singular form |
| may or may not have xx format syntax. |
| |
| 2001-12-15 Bruno Haible <bruno@clisp.org> |
| |
| * format.h (struct formatstring_parser): Add 'equality' and |
| 'pretty_msgstr' arguments to 'check' field. |
| * format-c.c (format_check): Add 'equality' and 'pretty_msgstr' |
| arguments. |
| * format-java.c (format_check): Likewise. |
| * format-lisp.c (format_check): Likewise. |
| * format-pascal.c (format_check): Likewise. |
| * format-python.c (format_check): Likewise. |
| * format-ycp.c (format_check): Likewise. |
| * msgfmt.c (check_pair): Check messages with plural forms as well. |
| * message.c (msgfmt_check_pair_fails): Add msgid_plural, msgstr_len |
| arguments. Check messages with plural forms as well. |
| (message_merge): Check messages with plural forms as well. |
| |
| 2001-12-11 Bruno Haible <bruno@clisp.org> |
| |
| * x-java.l (strip_ending_spaces): Fix isspace call. |
| |
| * xgettext.h (xgettext_omit_header): Renamed from omit_header. |
| * xgettext.c (xgettext_omit_header): Likewise. |
| (long_options, main, remember_a_message): Update. |
| * x-po.c (extract_directive_message): Update. |
| |
| 2001-12-09 Bruno Haible <bruno@clisp.org> |
| |
| * x-lisp.h: New file. |
| * x-lisp.c: New file. |
| * xgettext.c: Include x-lisp.h. |
| (main): Call x_lisp_extract_all, x_lisp_keyword. |
| (language_to_scanner): Add Lisp rule. Remove preliminary Lisp rule. |
| (extension_to_language): Add Lisp rule. |
| * Makefile.am (noinst_HEADERS): Add x-lisp.h. |
| (xgettext_SOURCES): Add x-lisp.c. |
| |
| 2001-12-09 Bruno Haible <bruno@clisp.org> |
| |
| * xgettext.h (split_keywordspec): New declaration. |
| * xgettext.c (split_keywordspec): New function. |
| * x-c.c (x_c_keyword): Use split_keywordspec. |
| * x-java.l (extract_keyword, extract_msgid_arg, |
| extract_msgid_plural_arg): Remove functions. |
| (x_java_keyword): Use split_keywordspec. |
| |
| 2001-12-09 Bruno Haible <bruno@clisp.org> |
| |
| * x-c.c: Reorder. |
| |
| 2001-12-08 Bruno Haible <bruno@clisp.org> |
| |
| * msgattrib.c (process_message_list): Never make the header entry |
| obsolete. |
| |
| 2001-12-08 Bruno Haible <bruno@clisp.org> |
| |
| * msgfilter.c (main): Fix getopt_long string: -i takes an argument. |
| |
| 2001-12-08 Bruno Haible <bruno@clisp.org> |
| |
| * xgettext.c (remember_a_message): Don't print the line number if it |
| is = (size_t)(-1). |
| |
| 2001-12-08 Bruno Haible <bruno@clisp.org> |
| |
| * msgfilter.c: Renamed from msgexec.c. |
| * msgexec.c: New file. |
| * Makefile.am (bin_PROGRAMS): Add msgfilter. |
| (msgfilter_SOURCES): New variable. |
| (msgfilter_LDADD): New variable. |
| |
| 2001-12-07 Bruno Haible <bruno@clisp.org> |
| |
| * msgexec.c (keep_header): New variable. |
| (long_options): New option --keep-header. |
| (usage): Document option --keep-header. |
| (process_message): Implement --keep-header. |
| |
| 2001-12-06 Bruno Haible <bruno@clisp.org> |
| |
| * format.h (struct formatstring_parser): Add 'noisy' argument to |
| 'check' field. |
| * format-c.c (format_check): Add 'noisy' argument. |
| * format-java.c (format_check): Likewise. |
| * format-lisp.c (format_check): Likewise. |
| * format-pascal.c (format_check): Likewise. |
| * format-python.c (format_check): Likewise. |
| * format-ycp.c (format_check): Likewise. |
| * msgfmt.c (check_pair): Pass noisy=true. |
| * message.c: Include format.h. |
| (msgfmt_check_pair_fails): New function. |
| (message_merge): Set fuzzy flag when adding a -format specifier that |
| needs the translator's attention. |
| |
| 2001-12-10 Bruno Haible <bruno@clisp.org> |
| |
| * x-java.l (tailcmp): If s1 ends with s2, it must be either equal to |
| s2 or have a dot right before s2. |
| |
| 2001-12-01 Bruno Haible <bruno@clisp.org> |
| |
| * msginit.c (project_id): Make it possible to specify the location |
| of the project-id script through an environment variable. |
| (project_id_version): Likewise. |
| |
| 2001-12-03 Tommy Johansson <tommy.johansson@kanalen.org> |
| |
| * x-java.l (tailcmp): New function. |
| (do_compare): Use it instead of strcmp. |
| (extract_java): After seeing an invocation, don't set the state to |
| STATE_NONE. |
| |
| 2001-11-30 Bruno Haible <bruno@clisp.org> |
| |
| * message.c (message_merge): Determine whether postprocessing is |
| needed. |
| * msgmerge.c (match_domain): Postprocess some problematic cases. |
| * Makefile.am (libgettextsrc_la_SOURCES): Add plural.c. |
| (msgfmt_SOURCES): Remove plural.c. |
| |
| 2001-11-29 Bruno Haible <bruno@clisp.org> |
| |
| * plural-eval.c: Include config.h and plural-exp.h. |
| |
| 2001-11-27 Bruno Haible <bruno@clisp.org> |
| |
| * msgfmt.c (struct msgfmt_class_ty): New field |
| 'has_nonfuzzy_header_entry'. |
| (format_constructor): Initialize it. |
| (format_debrief): Give a warning if the header entry exists but is |
| fuzzy. |
| (format_directive_message): Update has_nonfuzzy_header_entry. |
| |
| 2001-11-25 Bruno Haible <bruno@clisp.org> |
| |
| * x-c.c (comment_start, comment_add, comment_line_end): New inline |
| functions. |
| (phase4_getc): Use them. |
| |
| 2001-11-25 Bruno Haible <bruno@clisp.org> |
| |
| * msginit.c (no_translator): New variable. |
| (long_options): Add option --no-translator. |
| (main): Handle option --no-translator. |
| (usage): Document option --no-translator. |
| (po_revision_date): Add header argument. Return POT's creation date |
| if no_translator. |
| (last_translator): Return a dummy string if no_translator. |
| (language_team): Likewise. |
| (fields): Allow getter with 0 or 1 argument. |
| (get_field): New function. |
| (fill_header): Call getter with 0 or 1 argument. |
| |
| 2001-11-25 Bruno Haible <bruno@clisp.org> |
| |
| * msginit.c (canonical_locale_charset): Return the charset of 'locale' |
| if available. |
| (get_title): Return a correct value even if 'locale' is a nonexistent |
| locale. |
| |
| 2001-11-24 Bruno Haible <bruno@clisp.org> |
| |
| * urlget.c (fetch): Call execute_java_class with quiet=true. If Java |
| program failed, try wget or lynx. |
| |
| * read-java.c (msgdomain_read_java): Update for changed |
| execute_java_class parameter list. |
| |
| 2001-11-24 Bruno Haible <bruno@clisp.org> |
| |
| * msgexec.c (process_message): Really process each plural form once. |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (is_nonobsolete): New function. |
| (main): Remove obsolete messages after reading all input files. |
| (check_header_entry): New function, extracted from |
| format_directive_message. |
| (format_directive_message): Perform duplicate checking also on |
| obsolete, untranslated and fuzzy messages, like msgmerge and the |
| other tools do. Put also obsolete, untranslated and fuzzy messages |
| on the result list, but mark them obsolete. |
| (read_po_file): Call po_lex_pass_obsolete_entries. |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * po.c (po_callback_message): Ignore obsolete header entries, for |
| consistency with msgdomain_list_print(), compare_po_locale_charsets(), |
| iconv_message_list(), catenate_msgdomain_list(). |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (struct msg_domain): Remove symbol_tab field. |
| (main, new_domain): Update. |
| (format_directive_message): Use message_list_search instead of |
| explicit hash table calls. |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h: Include hash.h. |
| (message_list_ty): Add use_hashtable, htable fields. |
| (message_list_alloc): Add 'use_hashtable' argument. |
| (msgdomain_alloc): Likewise. |
| (msgdomain_list_ty): Add use_hashtable field. |
| (msgdomain_list_alloc): Add 'use_hashtable' argument. |
| * message.c: Include hash.h. |
| (message_list_alloc): Add 'use_hashtable' argument. |
| (message_list_free): Delete the hash table if present. |
| (message_list_append): If a hash table is in use, verify no duplicates. |
| (message_list_prepend): Likewise. |
| (message_list_remove_if_not): Remove hash table after removal. |
| (message_list_search): Use hash table if present. |
| (msgdomain_alloc): Add 'use_hashtable' argument. |
| (msgdomain_list_alloc): Add 'use_hashtable' argument. |
| (msgdomain_list_sublist): Use 'use_hashtable'. |
| * msgcmp.c (compare): Update. |
| (compare_constructor): Allocate a message list with hash table. |
| * msgfmt.c (new_domain): Allocate a message list with hash table. |
| Remove impossible error message. |
| * msgl-cat.c (catenate_msgdomain_list): Allocate message lists with |
| hash table. |
| * msgmerge.c (merge): Update. |
| * msgunfmt.c (main): Update. |
| * read-po.c (readall_constructor): Allocate a message list with hash |
| table if and only if duplicates will lead to an error message. |
| * xgettext.c (main): Allocate a message list with hash table, to |
| speed up insertion. |
| (exclude_directive_message): Allocate a message list with hash table, |
| to speed up exclusion test. |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h (msgdomain_list_sublist): Change last argument to bool. |
| * message.c (msgdomain_list_sublist): Likewise. |
| * msgcmp.c (compare): Update msgdomain_list_sublist calls. |
| (compare_constructor, compare_directive_message): Likewise. |
| * msgl-cat.c (catenate_msgdomain_list): Likewise. |
| * msgmerge.c (merge): Likewise. |
| * read-po.c (readall_constructor, readall_directive_message): Likewise. |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (format_directive_message): Finish 2001-08-30 patch. |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (accelerator_char): New variable. |
| (long_options): --check-accelerators has optional argument. |
| (main): Store --check-accelerators value in accelerator_char. |
| (usage): --check-accelerators has optional argument. |
| (check_pair): Use accelerator_char instead of hardwired '&'. |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * msginit.c (main): Print a blank line. |
| (get_title): Always use the English title first. |
| (fill_header): Update accordingly. |
| |
| 2001-11-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h (NFORMATS): Fix misapplied patch. |
| |
| 2001-11-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (check_accelerators): New variable. |
| (long_options): Add --check-accelerators. |
| (main): Handle --check-accelerators. |
| (usage): Document --check-accelerators option. |
| (check_pair): Implement check_accelerators handling. |
| |
| 2001-11-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgl-cat.c (catenate_msgdomain_list): Fix a typo in 2001-11-01 patch. |
| Reported by Karl Eichwalder. |
| |
| 2001-11-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * msginit.c (verbose): Remove variable. |
| (long_options): Remove --verbose. |
| (main): Remove --verbose option handling. |
| (usage): Remove --verbose documentation. |
| (language_team_address): Don't pass a verbose option to the subprocess. |
| |
| 2001-11-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h: New enum value format_smalltalk. |
| * message.c (format_language): Add value for format_smalltalk. |
| (format_language_pretty): Likewise. |
| * format.h (formatstring_smalltalk): New declaration. |
| * format-ycp.c (formatstring_smalltalk): New variable. |
| * format.c (formatstring_parsers): Add value for format_smalltalk. |
| |
| 2001-11-05 Bruno Haible <haible@clisp.cons.org> |
| |
| * format-lisp.c (parse_upto): Remove 'base' argument. It is always 0. |
| (format_parse): Update. |
| |
| * msgl-equal.c: Include string.h. |
| * str-list.c: Likewise. |
| |
| 2001-11-03 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (line_comment): Remove variable, so default value is |
| always 1. |
| |
| 2001-11-03 Bruno Haible <haible@clisp.cons.org> |
| |
| * x-c.c (extract_parenthesized): New function, extracted from |
| extract_c. |
| (extract_c): Call extract_parenthesized. |
| |
| 2001-11-03 Bruno Haible <haible@clisp.cons.org> |
| |
| Add YCP plural form support. |
| * x-ycp.c (enum token_type_ty): New value token_type_comma. |
| (x_ycp_lex): Recognize comma. |
| (extract_ycp): Also recognize the _("singular","plural" pattern. |
| |
| 2001-11-01 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (check_plural_eval): Fix #if mistake. |
| |
| 2001-11-01 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgl-iconv.h (iconv_message_list): Add argument 'canon_from_code'. |
| * msgl-iconv.c (iconv_message_list): Add argument 'canon_from_code'. |
| (iconv_msgdomain_list): Update. |
| * write-java.c (msgdomain_write_java): Update. |
| * msgl-cat.c (catenate_msgdomain_list): Pass the canon_charsets[n][k] |
| to iconv_message_list; the header entry that contained the charset |
| specification may already have been removed from the message list. |
| |
| 2001-11-01 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgl-equal.h (string_list_equal): New declaration. |
| * msgl-equal.c (string_list_equal): Export function. |
| * message.h (struct altstr): New fields 'comment', 'comment_dot'. |
| * msgl-cat.c: Include msgl-equal.h. |
| (catenate_msgdomain_list): If all alternative comments are equal, |
| use one copy of them, instead of concatenating them. Likewise for dot |
| comments. |
| * Makefile.am (libgettextsrc_la_SOURCES): Add msgl-equal.c. |
| (msgmerge_SOURCES): Remove msgl-equal.c. |
| |
| 2001-10-31 Bruno Haible <haible@clisp.cons.org> |
| |
| * Makefile.am (noinst_HEADERS): Add read-java.h, write-java.h, |
| format.h, msgunfmt.h. |
| (EXTRA_DIST): Add project-id, gnu/gettext/*.java. |
| * message.h (NFORMATS): Define via #define, not via an enum value. |
| * format.h (struct formatstring_parser): Use PARAMS. |
| * format-c.c (FAT_SIZE_MASK): Remove extraneous backslashes. |
| * po-charset.c (po_lex_charset_set): Fix syntax error. |
| * write-java.c (write_java_string): Drop hexdigit[] size. |
| * x-java.l (add_object): Remove C++ style comment. |
| |
| 2001-10-28 Bruno Haible <haible@clisp.cons.org> |
| |
| * hostname.c: Include "progname.h". |
| (program_name): Remove variable. |
| (main): Call set_program_name instead of setting program_name. |
| |
| 2001-10-28 Bruno Haible <haible@clisp.cons.org> |
| |
| Create a libgettextsrc shared library. |
| * Makefile.am (lib_LTLIBRARIES): New variable. |
| (libgettextsrc_la_SOURCES): New variable. |
| (msgcmp_SOURCES, msgfmt_SOURCES, msgmerge_SOURCES, msgunfmt_SOURCES, |
| xgettext_SOURCES, msgattrib_SOURCES, msgcat_SOURCES, msgcomm_SOURCES, |
| msgconv_SOURCES, msgen_SOURCES, msgexec_SOURCES, msggrep_SOURCES, |
| msginit_SOURCES, msguniq_SOURCES): Remove source files listed in |
| libgettextsrc_la_SOURCES. |
| (libgettextsrc_la_LDFLAGS): New variable. |
| (msgcmp_LDADD, msgfmt_LDADD, msgmerge_LDADD, msgunfmt_LDADD, |
| xgettext_LDADD, msgattrib_LDADD, msgcat_LDADD, msgcomm_LDADD, |
| msgconv_LDADD, msgen_LDADD, msgexec_LDADD, msggrep_LDADD, |
| msginit_LDADD, msguniq_LDADD): Add libgettextsrc.la. Remove all |
| dependencies already listed in libgettextsrc_la_LDFLAGS. |
| (po-lex.lo): Depend on po-gram-gen2.h. |
| |
| 2001-10-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * Makefile.am (LDADD): Replace libnlsut.a with libgettextlib.la. |
| (*_LDADD): Likewise. |
| |
| 2001-10-26 Bruno Haible <haible@clisp.cons.org> |
| |
| * x-c.h (EXTENSIONS_C): Add ".hxx". |
| |
| 2001-10-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgmerge.c (match_domain): Change type of 'processed' argument to |
| 'unsigned int *'. |
| (merge): Change type of 'processed' to 'unsigned int'. |
| |
| 2001-10-21 Bruno Haible <haible@clisp.cons.org> |
| |
| Avoid warnings on platforms where size_t is larger than int. |
| * msgfmt.c (check_pair): Use an 'unsigned int' variable instead of |
| 'size_t', to avoid warnings. |
| * po-lex.h (po_gram_error): Cast line number to 'unsigned long'. |
| * po-lex.c (po_gram_error): Likewise. |
| * x-c.c (extract_c): Likewise. |
| |
| 2001-10-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgexec.c [BeOS]: Fix #ifdef conditional. |
| |
| 2001-10-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * read-java.c (execute_and_read_po_output): Return false, not 0. |
| |
| 2001-10-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgattrib.c (usage): Fix: --sort-output doesn't deal with duplicates. |
| * msgcat.c (usage): Likewise. |
| * msgcomm.c (usage): Likewise. |
| * msgconv.c (usage): Likewise. |
| * msgen.c (usage): Likewise. |
| * msgexec.c (usage): Likewise. |
| * msggrep.c (usage): Likewise. |
| * msgmerge.c (usage): Likewise. |
| * msgunfmt.c (usage): Likewise. |
| * msguniq.c (usage): Likewise. |
| * xgettext.c (usage): Likewise. |
| |
| 2001-10-09 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-po.c (memcpy_small): New function. |
| (wrap): Use it instead of memcpy. Optimize handling of escape |
| characters. |
| |
| 2001-10-09 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-po.c (putc): Define as putc_unlocked if available. |
| |
| 2001-10-09 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-lex.c (getc): Define as getc_unlocked if available. |
| |
| 2001-10-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * msginit.c: New file. |
| * project-id: New file. |
| * Makefile.am (bin_PROGRAMS): Add msginit. |
| (projectsdir): New variable. |
| (DEFS): Add -DLIBDIR and -DPROJECTSDIR. |
| (msginit_SOURCES): New variable. |
| (msginit_LDADD): New variable. |
| (install-exec-local): Also install project-id. |
| (uninstall-local): Also uninstall project-id. |
| |
| 2001-10-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * gnu/gettext/GetURL.java: New file. |
| * urlget.c: New file. |
| * Makefile.am (noinst_PROGRAMS): Add urlget. |
| (urlget_SOURCES): New variable. |
| (install-exec-local): Also install urlget. |
| (uninstall-local): Also uninstall urlget. |
| (gnu/gettext/GetURL.class): New rule. |
| (gettext.jar): Also include gnu/gettext/GetURL*.class. |
| |
| 2001-10-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgl-english.h: New file. |
| * msgl-english.c: New file, extracted from msgen.c. |
| * msgen.c: Include msgl-english.h. |
| (english): Move to msgl-english.c. |
| (main): Update accordingly. |
| * Makefile.am (noinst_HEADERS): Add msgl-english.h. |
| (msgen_SOURCES): Add msgl-english.c. |
| |
| 2001-10-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-time.h: New file. |
| * po-time.c: New file, extracted from xgettext.c. |
| * xgettext.c: Include po-time.h. |
| (difftm): Move to po-time.c. |
| (construct_header): Move some code to po-time.c. Call po_strftime. |
| * Makefile.am (noinst_HEADERS): Add po-time.h. |
| (xgettext_SOURCES): Add po-time.c. |
| |
| 2001-09-29 Bruno Haible <haible@clisp.cons.org> |
| |
| * user-email.in: New file. |
| * Makefile.am (install-exec-local): Install user-email. |
| (uninstall-local): Uninstall user-email. |
| (DISTCLEANFILES): Add user-email. |
| |
| 2001-09-29 Bruno Haible <haible@clisp.cons.org> |
| |
| * hostname.c: New file. |
| * Makefile.am (noinst_PROGRAMS, hostname_SOURCES): New variables. |
| (install-exec-local, installdirs-local, uninstall-local): New rules. |
| |
| 2001-10-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgexec.c (process_string): Update for changed create_pipe_bidi(), |
| wait_subprocess(). |
| * msggrep.c (is_string_selected): Update for changed create_pipe_out(), |
| wait_subprocess(). |
| * read-java.c (execute_and_read_po_output): Update for changed |
| create_pipe_in(), wait_subprocess(). |
| |
| 2001-10-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (remember_a_message): When the comment tag is seen, |
| remember all remaining comment lines, not just one. |
| |
| 2001-09-25 Bruno Haible <haible@clisp.cons.org> |
| |
| Upgrade to automake-1.5. |
| * Makefile.am (AUTOMAKE_OPTIONS): Add 'no-dependencies'. |
| (COMMON_SOURCE): Renamed from COMMON_SOURCES. |
| (FORMAT_SOURCE): Renamed from FORMAT_SOURCES. |
| * ylwrap: Remove file. |
| |
| 2001-09-22 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (extractor_func): New typedef. |
| (scanner_fp): Remove typedef. |
| (main): Use extractor_func and call it via extract_from_file. |
| (extract_from_file): New function. |
| (scan_c_file, scan_po_file, scan_java_file, scan_ycp_file, |
| scan_rst_file): Remove functions. |
| (language_to_extractor): Renamed from language_to_scanner. |
| * x-c.h (SCANNERS_C): Use extract_c instead of scan_c_file. |
| * x-java.h (SCANNERS_JAVA): Use extract_java instead of scan_java_file. |
| * x-po.h (SCANNERS_PO): Use extract_po instead of scan_po_file. |
| * x-rst.h (SCANNERS_RST): Use extract_rst instead of scan_rst_file. |
| * x-ycp.h (SCANNERS_YCP): Use extract_ycp instead of scan_ycp_file. |
| |
| 2001-09-23 Bruno Haible <haible@clisp.cons.org> |
| |
| * plural-eval.c: New file. |
| * msgfmt.c: Include plural-exp.h. |
| (sigfpe_exit, sigfpe_code): New variables. |
| (sigfpe_handler, install_sigfpe_handler, uninstall_sigfpe_handler, |
| check_plural_eval, check_plural): New functions. |
| (main): Call it if --check-header is enabled. |
| * Makefile.am (msgfmt_SOURCES): Add plural-eval.c. |
| |
| 2001-10-04 Tommy Johansson <tommy.johansson@kanalen.org> |
| |
| * x-java.l (object_list): New type. |
| (INITIAL_OBJECT_LIST_SIZE, OBJECT_LIST_GROWTH): New macros. |
| (java_keyword): New type. |
| (strip_ending_spaces): New function. |
| (object_list_alloc, object_list_destroy, get_num_objects, get_object, |
| add_object, alloc_keyword): New functions. |
| (java_keywords): Change type. |
| (extract_keyword, extract_msgid_arg, extract_msgid_plural_arg): New |
| functions. |
| (is_keyword): Change return type. |
| (x_java_keyword): Update. |
| (extract_java): Count arguments, and support plural keywords like |
| ngettext. |
| |
| 2001-09-19 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.h (omit_header): New declaration. |
| * xgettext.c (omit_header): Make global. |
| * x-po.c (extract_directive_message): Don't throw the header entry |
| away if omit_header is true. |
| |
| 2001-09-19 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-po.c (msgdomain_list_print): Treat charset=CHARSET as if it |
| were absent, i.e. like ASCII, not like an unknown 8-bit encoding. |
| |
| 2001-09-18 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgl-equal.h: New file. |
| * msgl-equal.c: New file. |
| * msgmerge.c: Include msgl-equal.h, backupfile.h, copy-file.h. |
| (update_mode, version_control_string, backup_suffix_string): New |
| variables. |
| (long_options): Add --backup, --suffix, --update. |
| (main): Accept options --backup, --suffix, -U/--update. If in update |
| mode, compare old and new message lists, backup the def.po file, and |
| overwrite the def.po file. |
| (usage): Document --backup, --suffix, -U/--update. |
| (DOT_FREQUENCY): Renamed from DOT_FREQUENCE. |
| (merge): Also return def.po message list. Don't share messages between |
| def and result; copy instead. |
| * Makefile.am (noinst_HEADERS): Add msgl-equal.h. |
| (msgmerge_SOURCES): Add msgl-equal.c. |
| |
| 2001-09-19 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-hash-gen.y (number): Change type from 'int' to 'size_t'. |
| (filepos): Accept strings without line number. |
| (yylex): Change n from 'int' to 'size_t'. |
| * po.h (po_method_ty): In field comment_filepos, change line's type |
| from 'int' to 'size_t'. |
| (po_callback_comment_filepos): Change line's type from 'int' to |
| 'size_t'. |
| * read-po.c (readall_comment_filepos): Likewise. |
| * x-po.c (extract_comment_filepos): Likewise. |
| * po.c (po_comment_filepos): Likewise. |
| (po_callback_comment_filepos): Likewise. |
| (po_callback_comment): Reduce the possibility that po_hash succeeds |
| if the comment is not a Sun file position comment. |
| |
| 2001-09-16 Bruno Haible <haible@clisp.cons.org> |
| |
| * x-rst.h: New file. |
| * x-rst.c: New file. |
| * xgettext.c: Include x-rst.h. |
| (scan_rst_file): New function. |
| (language_to_scanner): Add RST rule. |
| (extension_to_language): Add RST rule. |
| * write-po.c (message_print): Don't print the line number if it is |
| = (size_t)(-1). |
| * Makefile.am (noinst_HEADERS): Add x-rst.h. |
| (xgettext_SOURCES): Add x-rst.c. |
| |
| 2001-09-20 Bruno Haible <haible@clisp.cons.org> |
| |
| * format-pascal.c: New file. |
| * format.h (formatstring_pascal): New declaration. |
| * message.h (enum format_type): Add format_pascal. |
| * message.c (format_language): Add format_pascal entry. |
| (format_language_pretty): Likewise. |
| * format.c (formatstring_parsers): Add formatstring_pascal. |
| * Makefile.am (FORMAT_SOURCES): Add format-pascal.c. |
| |
| 2001-09-16 Bruno Haible <haible@clisp.cons.org> |
| |
| * x-ycp.h: New file. |
| * x-ycp.c: New file. |
| * xgettext.c: Include x-ycp.h. |
| (usage): Mention YCP. |
| (scan_ycp_file): New function. |
| (language_to_scanner): Add YCP rule. Remove preliminary YCP rule. |
| (extension_to_language): Add YCP rule. |
| * Makefile.am (noinst_HEADERS): Add x-ycp.h. |
| (xgettext_SOURCES): Add x-ycp.c. |
| |
| 2001-09-17 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext.c: Include basename.h. |
| * ngettext.c: Likewise. |
| * msgattrib.c: Likewise. |
| * msgcat.c: Likewise. |
| * msgcmp.c: Likewise. |
| * msgcomm.c: Likewise. |
| * msgconv.c: Likewise. |
| * msgen.c: Likewise. |
| * msgexec.c: Likewise. |
| * msgfmt.c: Likewise. |
| * msggrep.c: Likewise. |
| * msgl-cat.c: Likewise. |
| * msgl-charset.c: Likewise. |
| * msgl-iconv.c: Likewise. |
| * msgmerge.c: Likewise. |
| * msgunfmt.c: Likewise. |
| * msguniq.c: Likewise. |
| * xgettext.c: Likewise. |
| * po-charset.c: Include <stdlib.h> and basename.h. |
| |
| 2001-09-16 Bruno Haible <haible@clisp.cons.org> |
| |
| * x-c.c (phase4_getc): Rename local variable 'state' to |
| 'last_was_star'. |
| |
| 2001-09-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * Makefile.am (COMMON_SOURCES, FORMAT_SOURCES): New variables. |
| (msgcmp_SOURCES, msgfmt_SOURCES, msgmerge_SOURCES, msgunfmt_SOURCES, |
| xgettext_SOURCES, msgattrib_SOURCES, msgcat_SOURCES, msgcomm_SOURCES, |
| msgconv_SOURCES, msgen_SOURCES, msgexec_SOURCES, msggrep_SOURCES, |
| msguniq_SOURCES): Simplify. |
| |
| 2001-09-09 Bruno Haible <haible@clisp.cons.org> |
| |
| * file-list.c: Include system.h. |
| * format-c.c: Include xmalloc.h instead of system.h. |
| * format-ycp.c: Likewise. |
| * read-po.c: Likewise. |
| * x-po.c: Likewise. |
| * format-java.c: Include xmalloc.h. |
| * format-lisp.c: Likewise. |
| * format-python.c: Likewise. |
| * gettext.c: Likewise. |
| * msgen.c: Likewise. |
| * msgexec.c: Likewise. |
| * msggrep.c: Likewise. |
| * ngettext.c: Likewise. |
| * po-lex.c: Likewise. |
| * read-mo.c: Likewise. |
| * x-c.c: Likewise. |
| * message.c: Include xmalloc.h and strstr.h. |
| * msgfmt.c: Likewise. |
| * write-po.c: Likewise. |
| * msgl-cat.c: Include string.h, xmalloc.h and strstr.h. |
| * msgl-iconv.c: Likewise. |
| * msgl-charset.c: Include strstr.h. |
| * po-charset.c: Likewise. |
| * po-gram-gen.y: Include stdlib.h, xmalloc.h instead of system.h. |
| * po-hash-gen.y: Likewise. |
| * str-list.c: Likewise. |
| * po.c: Include string.h, xmalloc.h instead of system.h. |
| * write-java.c: Include string.h, xmalloc.h. |
| * x-java.l: Include stdlib.h, xmalloc.h, strstr.h instead of system.h. |
| * xgettext.c: Include xmalloc.h, strstr.h, xerror.h. |
| (main, construct_header): Use xasprintf instead of asprintf. |
| |
| 2001-09-24 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-lex.c (mb_iseq): Compare the byte sequence, not the Unicode |
| equivalent. This is necessary for non-ASCII-compatible encodings like |
| SHIFT_JIS. |
| |
| 2001-09-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgunfmt.h: New file. |
| * msgunfmt.c (verbose): New variable. |
| (java_mode, java_resource_name, java_locale_name): New variables. |
| (long_options): Add --java, --locale, --resource, --verbose. |
| (main): Recognize new options -j, -l, -r, -v. Handle java mode |
| differently. |
| (usage): Document --java, --resource, --locale, --verbose. |
| * read-java.h: New file. |
| * read-java.c: New file. |
| * read-po.h (read_po): New declaration. |
| * read-po.c (read_po): New function. |
| * gnu/gettext/DumpResource.java: New file. |
| * Makefile.am (jardir): New variable. |
| (DEFS): Define GETTEXTJAR, for read-java.c. |
| (JAR): New variable. |
| (JAVACOMP): New variable. |
| (msgunfmt_SOURCES): Add open-po.c, po-gram-gen.y, po-hash-gen.y, |
| po-charset.c, po-lex.c, po.c, read-po.c, dir-list.c, read-java.c. |
| (all-local, all-java-no, all-java-yes, gnu/gettext/DumpResource.class, |
| gettext.jar, install-data-local, install-java-no, install-java-yes, |
| installdirs-local, installdirs-java-no, installdirs-java-yes, |
| uninstall-local, uninstall-java-no, uninstall-java-yes): New rules. |
| (CLEANFILES): New variable. |
| |
| 2001-09-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgexec.c (nonintr_select): Add function prototype. |
| |
| * xgettext.c (scan_java_file): Add function prototype. |
| |
| 2001-09-23 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (remember_a_message): Warn about empty msgid if it |
| conflicts with construct_header(). |
| |
| 2001-09-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcat.c (main): Move the option checking after the handling of |
| --version and --help, but before opening of any file. |
| * msgcomm.c (main): Move the option checking after the handling of |
| --version and --help. |
| * msguniq.c (main): Likewise. |
| * xgettext.c (main): Likewise. |
| * msgconv.c (main): Additional option checking for --sort-by-file. |
| * msgen.c (main): Likewise. |
| * msgexec.c (main): Likewise. |
| * msggrep.c (main): Likewise. |
| * msgmerge.c (main): Likewise. |
| |
| 2001-09-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * dir-list.c: Include specification header before all other headers. |
| * file-list.c: Likewise. |
| * message.c: Likewise. |
| * msgl-cat.c: Likewise. |
| * msgl-charset.c: Likewise. |
| * msgl-iconv.c: Likewise. |
| * open-po.c: Likewise. |
| * po.c: Likewise. |
| * po-gram-gen.y: Likewise. |
| * po-hash-gen.y: Likewise. |
| * po-lex.c: Likewise. |
| * read-po.c: Likewise. |
| * str-list.c: Likewise. |
| * write-mo.c: Likewise. |
| * write-po.c: Likewise. |
| * msgfmt.h: Don't include message.h. |
| * open-po.h: Include <stdio.h>, for FILE. |
| * write-mo.h: Include message.h and <stddef.h>. |
| |
| 2001-09-21 Tommy Johansson <tommy.johansson@kanalen.org> |
| |
| * x-java.l (create_char_buf): Fix problem with empty messages. |
| (//): Remove leading "//" from result. |
| (x_java_keyword): Handle NULL argument. |
| |
| 2001-09-19 Tommy Johansson <tommy.johansson@kanalen.org> |
| |
| * x-java.l (is_keyword): Swap arguments of do_compare. |
| |
| 2001-09-02 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-java.h: New file. |
| * write-java.c: New file. |
| * plural.c: New file. |
| * msgfmt.c: Include write-java.h. |
| (java_mode, assume_java2, java_resource_name, java_locale_name, |
| java_class_directory): New variables. |
| (long_options): Add --java, --java2, --locale, --resource. |
| (main): Add command line option -d, -j, -l, -r. Handle them and |
| --java2. Forbid some options depending on whether --java was given |
| or not. In java_mode, call msgdomain_write_java. |
| (usage): Update. |
| (format_directive_domain): In java_mode, ignore domain directives. |
| * Makefile.am (msgfmt_SOURCES): Add write-java.c, msgl-ascii.c, |
| msgl-iconv.c, plural.c. |
| |
| 2001-09-16 Bruno Haible <haible@clisp.cons.org> |
| |
| * Makefile.am (noinst_HEADERS): Add x-java.h. |
| |
| 2001-09-14 Tommy Johansson <tommy.johansson@kanalen.org> |
| |
| * x-java.h (x_java_extract_all): New declaration. |
| * x-java.l (extract_all_strings): New variable. |
| (x_java_extract_all): New function. |
| (extract_java): Test extract_all_strings. |
| * xgettext.c (main): Call x_java_extract_all. |
| |
| 2001-09-03 Bruno Haible <haible@clisp.cons.org> |
| |
| * x-c.h (EXTENSIONS_C, SCANNERS_C): Remove extraneous commas. |
| * x-po.h (EXTENSIONS_PO, SCANNERS_PO): Likewise. |
| |
| 2001-09-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c: Set msgstr_prefix to "", not NULL. |
| Reported by Martin Quinson <Martin.Quinson@ens-lyon.fr>. |
| |
| 2001-09-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgattrib.c (main): Call set_program_name instead of assigning |
| program_name directly. |
| * msgcat.c (main): Likewise. |
| * msgconv.c (main): Likewise. |
| * msgen.c (main): Likewise. |
| * msgexec.c (main): Likewise. |
| * msggrep.c (main): Likewise. |
| * msguniq.c (main): Likewise. |
| |
| 2001-09-08 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgattrib.c: New file. |
| * Makefile.am (bin_PROGRAMS): Add msgattrib. |
| (msgattrib_SOURCES, msgattrib_LDADD): New variables. |
| |
| 2001-09-02 Bruno Haible <haible@clisp.cons.org> |
| |
| * format-lisp.c (gcd): Remove function. Include "gcd.h" instead. |
| |
| 2001-09-03 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (usage): Mention ObjectiveC and Java. |
| * xgettext.h (substring_match): New declaration. |
| * Makefile.am (x-java.c): New rule. Automake's .l.c rules doesn't |
| work if $(LEX) is defined to ":". |
| |
| 2001-09-03 Tommy Johansson <tommy.johansson@kanalen.org> |
| |
| * x-java.h: New file. |
| * x-java.l: New file. |
| * xgettext.c: Include x-java.h. |
| (substring_match): New variable. |
| (long_options): Add --keyword-substring. |
| (main): For -k, also call x_java_keyword. Treat --keyword-substring. |
| (scan_java_file): New function. |
| (language_to_scanner): Add Java rule. Remove preliminary Java rule. |
| (extension_to_language): Add Java rule. |
| * Makefile.am (xgettext_SOURCES): Add x-java.l. |
| |
| 2001-09-02 Bruno Haible <haible@clisp.cons.org> |
| |
| * read-mo.h: New file. |
| * read-mo.c: New file, extracted from msgunfmt.c. |
| (read_mo_file): Require non-null message list argument. Return void. |
| * msgunfmt.c (endian, read32, seek32, string32, read_mo_file): Move to |
| read-mo.c. |
| (main): Pass a fresh list, not NULL, to read_mo_file. |
| * Makefile.am (noinst_HEADERS): Add read-mo.h. |
| (msgunfmt_SOURCES): Add read-mo.c. |
| |
| 2001-09-02 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.h (struct hashtable_entry): Remove type. |
| (verbose): New declaration. |
| * msgfmt.c (msg_domain): Add a message list field. |
| (verbose): Make non-static. |
| (main): Pass the message list, not the hash table, to |
| msgdomain_write_mo. Free the message list when done. |
| (new_domain): Initialize the message list to empty. |
| (format_directive_message): Change type of entry to 'message_ty *'. |
| Store msgid in it. |
| * write-mo.h: Don't include hash.h. |
| (msgdomain_write_mo): Change argument type from hash table to message |
| list. |
| * write-mo.c (id_str_pair): Add const. |
| (write_table): Change argument type from hash table to message list. |
| Use 'message_ty' instead of 'struct hashtable_entry'. |
| (msgdomain_write_mo): Change argument type from hash table to message |
| list. |
| |
| 2001-09-01 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.h: New file, extracted from msgfmt.c. |
| * write-mo.h: New file, extracted from msgfmt.c. |
| * write-mo.c: New file, extracted from msgfmt.c. |
| (write_table): Don't call delete_hash here. |
| (msgdomain_write_mo): Add check against writing on full disk. |
| * msgfmt.c (struct id_str_pair): Move to write-mo.c. |
| (struct hashtable_entry): Move to msgfmt.h. |
| (alignment): Move to write-mo.h and write-mo.c. |
| (no_hash_table): Likewise. Change type to boolean. |
| (long_options): Don't take &no_hash_table. |
| (roundup): Move to write-mo.c. |
| (main): Set no_hash_table here. Call msgdomain_write_mo and |
| delete_hash. |
| (compare_id): Move to write-mo.c. |
| (write_table): Likewise. |
| (read_po_file): Renamed from grammar. |
| * Makefile.am (noinst_HEADERS): Add msgfmt.h, write-mo.h. |
| (msgfmt_SOURCES): Add write-mo.c. |
| |
| 2001-09-01 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-po.c (msgdomain_list_print): Before fclose, check for ferror. |
| |
| 2001-09-01 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.c (message_list_list_search): If the first match has an |
| empty translation but there is later in the list a non-empty |
| translation, return the latter one. This fixes the msgmerge-8 test. |
| |
| 2001-08-30 Bruno Haible <haible@clisp.cons.org> |
| |
| Reorganize msgfmt checking options. |
| * msgfmt.c: Include limits.h. |
| (verbose): Renamed from verbose_level. |
| (check_format_strings): Renamed from do_check. |
| (check_header, check_domain, check_compatibility): New variables. |
| (long_options): Add --check-domain, --check-format, --check-header, |
| --check-compatibility. |
| (main): Recognize options -C, --check-compatibility, --check-domain, |
| --check-format, --check-header. Option -c implies the last three. |
| (usage): Update. |
| (format_debrief): Test check_header, not verbose_level. |
| (format_directive_domain): Test check_domain, not verbose_level. |
| (format_directive_message): Test check_compatibility and check_header, |
| not verbose_level. Always perform the check for duplicates. |
| (format_comment_special): Test check_compatibility, not verbose_level. |
| (check_pair): Error if check_compatibility is true an msgid_plural is |
| used. |
| |
| 2001-08-26 Bruno Haible <haible@clisp.cons.org> |
| |
| * format.h: New file. |
| * format-c.c: New file. |
| * format-java.c: New file. |
| * format-lisp.c: New file. |
| * format-python.c: New file. |
| * format-ycp.c: New file. |
| * format.c: New file. |
| * Makefile.am (msgfmt_SOURCES): Add format.c, format-c.c, |
| format-java.c, format-lisp.c, format-python.c, format-ycp.c. |
| (xgettext_SOURCES): Likewise. |
| * message.h (enum format_type): New type. |
| (format_language, format_language_pretty): New declarations. |
| (parse_c_format_description_string): Remove declaration. |
| (possible_format_p): Renamed from possible_c_format_p. |
| (struct message_ty): Change field 'is_c_format' to an array and |
| rename it to 'is_format'. |
| * message.c (parse_c_format_description_string): Remove function. |
| (format_language): New array. |
| (format_language_pretty): New array. |
| (possible_format_p): Renamed from possible_c_format_p. |
| (parse_c_width_description_string): Remove function. |
| (message_alloc): Update for is_format array. |
| (message_copy): Likewise. |
| (message_merge): Likewise. |
| * po.h (po_parse_comment_special): New declaration. |
| * po.c (po_parse_comment_special): New function. |
| * msgl-cat.c (catenate_msgdomain_list): Update for is_format array. |
| * read-po.c (struct readall_class_ty): Change field 'is_c_format' to |
| an array and rename it to 'is_format'. |
| (readall_constructor): Update for is_format array. |
| (readall_directive_message): Likewise. |
| (readall_comment_special): Call po_parse_comment_special instead of |
| parse_c_format_description_string and parse_c_width_description_string. |
| * write-po.c (make_format_description_string): Renamed from |
| make_c_format_description_string. Add a language argument. Remove the |
| impossible and undecided cases. |
| (significant_format_p): Renamed from significant_c_format_p. |
| (has_significant_format_p): New function. |
| (message_print): Update for is_format array. |
| * msgfmt.c: Include format.h instead of printf.h. |
| (struct msgfmt_class_ty): Change field 'is_c_format' to an array and |
| rename it to 'is_format'. |
| (format_constructor): Update for is_format array. |
| (format_directive_message): Likewise. |
| (format_comment_special): Call po_parse_comment_special instead of |
| parse_c_format_description_string and parse_c_width_description_string. |
| (check_pair): Change is_format argument to an array. Call language |
| dependent format string checking routines. |
| * x-po.c (struct extract_class_ty): Change field 'is_c_format' to |
| an array and rename it to 'is_format'. |
| (extract_constructor): Update for is_format array. |
| (extract_directive_message): Likewise. |
| (extract_comment_special): Call po_parse_comment_special instead of |
| parse_c_format_description_string and parse_c_width_description_string. |
| * x-c.h (SCANNERS_C): Refer to formatstring_c. |
| * x-po.h (SCANNERS_PO): Add NULL formatstring reference. |
| * xgettext.c: Include format.h instead of printf-parse.h. |
| (test_whether_c_format): Remove function. |
| (current_formatstring_parser): New variable. |
| (remember_a_message): Update for is_format array. Call |
| po_parse_comment_special instead of parse_c_format_description_string |
| and parse_c_width_description_string. Decide whether format string |
| depending on current_formatstring_parser. |
| (language_to_scanner): Also set current_formatstring_parser. Add |
| dummy table entries for Python, Lisp, Java, YCP. |
| |
| 2001-08-12 Bruno Haible <haible@clisp.cons.org> |
| |
| * pos.h: Include <stddef.h>. |
| |
| 2001-08-12 Bruno Haible <haible@clisp.cons.org> |
| |
| * x-c.c (real_file_name): Renamed from file_name. |
| (last_comment_line, last_non_comment_line, newline_count): Don't |
| initialize statically. |
| (phase1_getc): Update. |
| (x_c_lex): Don't reset last_comment_line, last_non_comment_line, |
| newline_count upon EOF. |
| (extract_c): Reset them here. Update. |
| |
| * x-c.c (x_c_lex): Move lazy keyword initialization... |
| (init_keywords): ... to here. New function. |
| (extract_c): Call init_keywords. |
| |
| * x-c.c (x_c_lex): Look up token without NUL in hash table. |
| (x_c_keyword): Store keywords without NUL in hash table. |
| |
| 2001-07-28 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext.c (usage): If IN_HELP2MAN is set, output template for |
| localedir, not its value. |
| * ngettext.c (usage): Likewise. |
| |
| 2001-07-28 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-lex.c: Include c-ctype.h instead of <ctype.h>. |
| (control_sequence): Use C locale character classifications. |
| * xgettext.c (main): Cast isspace argument to 'unsigned char'. |
| |
| 2001-07-28 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-lex.h (lex_start, lex_end): New declarations. |
| * po-lex.c (lex_start): New function. |
| (lex_end): New function. |
| (lex_open): Call lex_start. |
| (lex_close): Call lex_end. |
| * open-po.h (open_po_file): Nop. |
| * open-po.c (open_po_file): Small optimization. |
| * po.h (po_scan): New declaration. |
| (po_scan_file): Renamed from po_scan. |
| * po.c (po_scan): New function. |
| (po_scan_file): Renamed from po_scan. |
| * msgcmp.c (grammar): Update po_scan_file call. |
| * msgfmt.c (grammar): Likewise. |
| * read-po.c (read_po_file): Likewise. |
| * x-po.h: New file. |
| * x-po.c: New file. |
| (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, |
| extract_methods): Moved here from xgettext.c. |
| (extract_po): New function, extracted from read_po_file. |
| * xgettext.h (line_comment, exclude): New declarations. |
| * xgettext.c: Include x-po.h. |
| (line_comment): Make non-static. |
| (exclude): Likewise. |
| (main): Update scan_po_file call. |
| (read_exclusion_file): Update po_scan_file call. |
| (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, |
| extract_methods): Move to x-po.c. |
| (scan_po_file): Renamed from read_po_file. Call xgettext_open and |
| extract_po. |
| (language_to_scanner): Use SCANNERS_PO. |
| (extension_to_language): Use EXTENSIONS_PO. |
| * Makefile.am (noinst_HEADERS): Add x-po.h. |
| (xgettext_SOURCES): Add x-po.c. |
| |
| 2001-07-27 Bruno Haible <haible@clisp.cons.org> |
| |
| * x-c.h: New file. |
| * x-c.c: New file. |
| (xgettext_token_type_ty, xgettext_token_ty): Moved here from |
| xget-lex.h. In xgettext_token_ty, unify line_number and file_name into |
| lex_pos_ty. |
| (token_type_ty, token_ty): Moved here from xget-lex.c. |
| (extract_all): Moved here from xgettext.c. |
| (keywords, default_keywords, trigraphs, file_name, logical_file_name, |
| line_number, fp, last_comment_line, last_non_comment_line, |
| newline_count): Moved here from xget-lex.c. |
| (phase1_pushback, phase1_pushback_length, phase1_getc, phase1_ungetc, |
| phase2_pushback, phase2_pushback_length, phase2_getc, phase2_ungetc, |
| phase3_pushback, phase3_pushback_length, phase3_getc, phase3_ungetc, |
| phase4_getc, phase4_ungetc, phase7_getc, phase7_ungetc, |
| phase5_pushback, phase5_pushback_length, phase5_get, phase5_unget, |
| phaseX_get, phase6_pushback, phase6_pushback_length, phase6_get, |
| phase6_unget, phase8_get): Moved here from xget-lex.c. Use |
| xgettext_comment_add instead of accessing 'comment'. Don't free |
| logical_file_name; it is still used as file_name of messages in mdlp. |
| (x_c_lex): Moved here from xget-lex.c, renamed from xgettext_lex. |
| (extract_c): Moved here from xgettext.c, renamed from scan_c_file. |
| Change arguments from filename to FILE * and two filenames. Don't call |
| xgettext_lex_open and xgettext_lex_close. |
| (x_c_extract_all): New function. |
| (x_c_keyword): Moved here from xget-lex.c, renamed from |
| xgettext_lex_keyword. |
| (x_c_any_keywords): Moved here from xget-lex.c, renamed from |
| xgettext_any_keywords. |
| (x_c_trigraphs): Moved here from xget-lex.c, renamed from |
| xgettext_lex_trigraphs. |
| * xgettext.h: New file. |
| * xgettext.c (extract_all): Move to x-c.c. |
| (comment): Moved here from xget-lex.c. |
| (xgettext_comment_add): New function. |
| (xgettext_comment): Moved here from xget-lex.c, renamed from |
| xgettext_lex_comment. |
| (xgettext_comment_reset): Moved here from xget-lex.c, renamed from |
| xgettext_lex_comment_reset. |
| (xgettext_open): New function, mostly taken from xgettext_lex_open |
| in xget-lex.c. |
| (remember_a_message): Make non-static. Replace xgettext_token_ty arg |
| with lex_pos_ty argument. |
| (remember_a_message_plural): Likewise. |
| (scan_c_file): Moved the body to x-c.c:extract_c. |
| (language_to_scanner): Use SCANNERS_C. |
| (extension_to_language): Use EXTENSIONS_C. |
| * xget-lex.h: Remove file. |
| * xget-lex.c: Remove file. |
| * Makefile.am (noinst_HEADERS): Remove xget-lex.h. Add xgettext.h and |
| x-c.h. |
| (xgettext_SOURCES): Remove xget-lex.c. Add x-c.c. |
| |
| 2001-07-26 Bruno Haible <haible@clisp.cons.org> |
| |
| * file-list.h: New file. |
| * file-list.c: New file, extracted from msgcomm.c. |
| * msgcat.c: Include file-list.h. |
| (main): Call read_names_from_file instead of read_name_from_file. |
| (read_name_from_file): Remove function. |
| * msgcomm.c: Include file-list.h. |
| (main): Call read_names_from_file instead of read_name_from_file. |
| (read_name_from_file): Remove function. |
| * xgettext.c: Include file-list.h. |
| (main): Call read_names_from_file instead of read_name_from_file. |
| (read_name_from_file): Remove function. |
| * Makefile.am (noinst_HEADERS): Add file-list.h. |
| (xgettext_SOURCES): Add file-list.c. |
| (msgcat_SOURCES): Likewise. |
| (msgcomm_SOURCES): Likewise. |
| |
| 2001-07-23 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcomm.c: Assume <limits.h> exists. |
| * msgexec.c: Likewise. |
| * msggrep.c: Likewise. |
| * write-po.c: Likewise. |
| |
| 2001-08-02 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext.c (usage): Change bug report address to |
| <bug-gnu-gettext@gnu.org>. |
| * ngettext.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. |
| * msgfmt.c (usage): Likewise. |
| * msggrep.c (usage): Likewise. |
| * msgmerge.c (usage): Likewise. |
| * msgunfmt.c (usage): Likewise. |
| * msguniq.c (usage): Likewise. |
| * xgettext.c (usage): Likewise. |
| |
| 2001-07-22 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (language_to_scanner): Add language "ObjectiveC". |
| (extension_to_language): Map extension "m" to "ObjectiveC". |
| |
| 2001-07-22 Bruno Haible <haible@clisp.cons.org> |
| |
| Make msgcomm work with multidomain input and different encodings. |
| * msgl-cat.h (msgcomm_mode, omit_header): New declarations. |
| * msgl-cat.c (msgcomm_mode, omit_header): New variables. |
| (is_message_selected): Different behaviour if omit_header is true. |
| (is_message_needed): Different behaviour if msgcomm_mode is true. |
| (catenate_msgdomain_list): Likewise. |
| * msgcomm.c: Don't include <sys/types.h>, <unistd.h>, po.h. Include |
| read-po.h, msgl-cat.h instead. |
| (line_comment, omit_header, more_than, less_than): Remove variables. |
| (to_code): New variable. |
| (long_options): New option --to-code. |
| (main): New option -t/--to-code. Don't take the address of omit_header. |
| Call catenate_msgdomain_list instead of read_po_file and |
| is_message_selected. |
| (is_message_selected, extract_constructor, extract_directive_domain, |
| extract_directive_message, extract_parse_brief, extract_comment, |
| extract_comment_dot, extract_comment_filepos, extract_comment_special, |
| read_po_file): Remove functions. |
| * Makefile.am (msgcomm_SOURCES): Add read-po.c, msgl-iconv.c, |
| msgl-cat.c. |
| |
| 2001-07-22 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgl-ascii.h: New file. |
| * msgl-ascii.c: New file. |
| * po-charset.h (po_charset_ascii, po_charset_ascii_compatible): New |
| declarations. |
| * po-charset.c (po_charset_ascii): New variable. |
| (po_charset_ascii_compatible): New function. |
| * write-po.c (has_nonascii): Remove function. |
| (message_print, message_print_obsolete): Use is_ascii_string instead. |
| * msgl-iconv.c (iconv_message_list): Don't complain about missing |
| header entry with charset if all messages are ASCII. |
| * msgl-cat.c (catenate_msgdomain_list): Don't complain about missing |
| header entry with charset if all messages are ASCII. Better choice of |
| canon_to_code: when combining ASCII and an ASCII compatible encoding, |
| choose the latter, not UTF-8. Avoid performing trivial conversions. |
| * Makefile.am (noinst_HEADERS): Add msgl-ascii.h. |
| (msgmerge_SOURCES): Add msgl-ascii.c. |
| (msgunfmt_SOURCES): Likewise. |
| (msgcat_SOURCES): Likewise. |
| (msgcomm_SOURCES): Likewise. |
| (msgconv_SOURCES): Likewise. |
| (msgen_SOURCES): Likewise. |
| (msgexec_SOURCES): Likewise. |
| (msggrep_SOURCES): Likewise. |
| (msguniq_SOURCES): Likewise. |
| |
| 2001-07-22 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgl-cat.h: Include <stdbool.h>. |
| * po.h: Likewise. |
| * read-po.h: Likewise. |
| * write-po.h: Likewise. |
| * xget-lex.h: Likewise. |
| |
| 2001-07-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgl-cat.h: New file. |
| * msgl-cat.c: New file, extracted from msgcat.c. |
| * msgcat.c (more_than, less_than): Move to msgl-cat.c. |
| (use_first): Likewise. Change type to bool. |
| (long_options): Don't take the address of use_first. |
| (main): Initialize more_than, less_than, use_first explicitly. |
| Add --use-first handling. |
| (is_message_selected, is_message_needed, is_message_first_needed, |
| catenate_msgdomain_list): Move to msgl-cat.c. |
| * read-po.h (allow_duplicates): New declaration. |
| * read-po.c (allow_duplicates): New variable. |
| (readall_directive_message): If allow_duplicates is true, don't search |
| for the message ID, just append the message. |
| * msguniq.c: New file. |
| * Makefile.am (bin_PROGRAMS): Add msguniq. |
| (noinst_HEADERS): Add msgl-cat.h. |
| (msgcat_SOURCES): Add msgl-cat.c. |
| (msguniq_SOURCES, msguniq_LDADD): New variables. |
| |
| 2001-07-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcat.c (usage): The default value for more-than is 0 here. |
| (is_message_selected): Always keep the header entry. Needed when |
| option --unique is used. |
| |
| 2001-07-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h (struct message_ty): Add fields 'alternative_count', |
| 'alternative'. |
| * msgcat.c (catenate_msgdomain_list): is_c_format defaults to |
| undecided, not to no. If all alternative translations of a message |
| are the same, keep the first translation instead of mentioning them |
| all, and don't make the message fuzzy. |
| |
| 2001-07-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcomm.c (extract_directive_message): Don't make the message fuzzy |
| if the first occurrence wasn't fuzzy. |
| |
| 2001-07-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.c (message_comment_filepos): Don't keep the filepos[] array |
| sorted. |
| * write-po.c (cmp_by_msgid): Renamed from msgid_cmp. |
| (cmp_filepos, msgdomain_list_sort_filepos): New functions. |
| (cmp_by_filepos): Renamed from filepos_cmp. |
| (msgdomain_list_sort_by_filepos): Call msgdomain_list_sort_filepos. |
| |
| 2001-07-12 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgexec.c: New file. |
| * msgsed.c: Remove file. |
| * Makefile.am (bin_PROGRAMS): Replace msgsed with msgexec. |
| (msgexec_SOURCES, msgexec_LDADD): New variables. |
| (msgsed_SOURCES, msgsed_LDADD): Remove variables. |
| |
| 2001-07-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (test_whether_c_format): When encountering an |
| unterminated % format specifier, return 'impossible'. |
| Reported by Gaute B Strokkenes <gs234@cam.ac.uk>. |
| |
| 2001-07-09 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-po.c (has_nonascii): New function. |
| (message_print): Warn if the msgid is not fully ASCII. |
| (message_print_obsolete): Likewise. |
| |
| 2001-07-05 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcomm.c (is_message_selected): Keep the header entry. |
| |
| 2001-07-01 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-charset.h (po_lex_charset): New declaration. |
| * po-charset.c (po_lex_charset): Export variable. |
| * po-lex.h: Include xerror.h. |
| (gram_pos_column): New declaration. |
| (po_gram_error): Also output current column number. |
| (po_gram_error_at_line): Work around ## problem in gcc. |
| * po-lex.c: Include linebreak.h and utf8-ucs4.h. |
| (gram_pos_column): New variable. |
| (po_gram_error): Also output current column number. |
| (MBCHAR_BUF_SIZE): New macro. |
| (struct mbchar, mbchar_t): New types. |
| (memcpy_small, mb_iseof, mb_ptr, mb_len, mb_iseq, mb_isnul, mb_cmp, |
| mb_equal, mb_isascii): New functions. |
| (MB_UNPRINTABLE_WIDTH): New macro. |
| (mb_width, mb_putc, mb_setascii, mb_copy): New functions. |
| (NPUSHBACK): New macro. |
| (struct mbfile, mbfile_t): New types. |
| (signal_eilseq): New variable. |
| (mbfile_init, mbfile_getc, mbfile_ungetc): New functions. |
| (mbf): New variable. |
| (fp): Remove variable. |
| (lex_open): Initialize mbf, gram_pos_column, signal_eilseq. |
| (lex_close): Reset mbf, gram_pos_column, signal_eilseq. |
| (lex_getc): Return a multibyte character. Update gram_pos_column. |
| (lex_ungetc): Take a multibyte character. Update gram_pos_column. |
| (keyword_p): Use po_gram_error_at_line instead of po_gram_error. |
| No column number needed here. |
| (control_sequence): Read multibyte characters instead of bytes. |
| (po_gram_lex): Likewise. |
| * xgettext.c (exclude_directive_domain): Use po_gram_error_at_line |
| instead of po_gram_error. No column number needed here. |
| (extract_directive_domain): Likewise. |
| * msgcomm.c (extract_directive_domain): Likewise. |
| |
| 2001-06-30 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h: Include stdbool.h. |
| (message_ty): Change type of fields 'is_fuzzy', 'obsolete' to bool. |
| (message_predicate_ty): Change return type to bool. |
| * message.c (message_alloc): Update. |
| * msgcat.c (is_message_selected): Change return type to bool. |
| (is_message_needed): Likewise. |
| (is_message_first_needed): Likewise. |
| (main): Use bool. |
| (catenate_msgdomain_list): Update. Use yes/no for is_c_format and |
| do_wrap. |
| * msgcmp.c (multi_domain_mode): Change type to bool. |
| (compare_directive_message): Change 'obsolete' argument type to bool. |
| (main): Use bool. |
| * msgcomm.c (is_message_selected): Change return type to bool. |
| (extract_directive_message): Change 'obsolete' argument type to bool. |
| (main): Use bool. |
| (struct extract_class_ty): Change type of field 'is_fuzzy' to bool. |
| Change type of field 'filepos_count' to size_t. |
| (extract_constructor): Update. |
| (extract_parse_brief): Update. |
| (extract_comment_special): Update. |
| (read_po_file): Update. |
| * msgconv.c (main): Use bool. |
| * msgen.c (main): Use bool. |
| * msgfmt.c (struct msgfmt_class_ty): Change type of fields 'is_fuzzy', |
| 'has_header_entry' to bool. |
| (include_all): Change type to bool. |
| (do_check): Likewise. |
| (long_options): Update. |
| (format_directive_message): Change 'obsolete' argument type to bool. |
| (main): Use bool. |
| (format_constructor): Update. |
| (format_debrief): Update. |
| (format_comment_special): Update. |
| (check_pair): Update. |
| * msggrep.c (is_string_selected): Change return type to bool. |
| (is_message_selected): Likewise. |
| (main): Use bool. |
| * msgl-charset.c (compare_po_locale_charsets): Use bool. |
| * msgl-iconv.c (iconv_message_list): Update. |
| * msgmerge.c (quiet): Change type to bool. |
| (multi_domain_mode): Likewise. |
| (main): Use bool. |
| (match_domain): Update. |
| (merge): Update. |
| * msgsed.c (main): Use bool. |
| * msgunfmt.c (main): Use bool. |
| * po-gram-gen.y (string, stringlist, number, pos, rhs): Change type of |
| 'obsolete' field to bool. |
| * po-lex.h: Include stdbool.h. |
| (pass_obsolete_entries): Change type to bool. |
| (po_lex_pass_comments): Change argument type to bool. |
| (po_lex_pass_obsolete_entries): Likewise. |
| (po_gram_error): Update. |
| (po_gram_error_at_line): Update. |
| * po-lex.c (po_lex_obsolete): Change type to bool. |
| (pass_comments): Likewise. |
| (pass_obsolete_entries): Likewise. |
| (lex_open): Update. |
| (lex_close): Update. |
| (po_gram_error): Update. |
| (po_gram_error_at_line): Update. |
| (po_gram_lex): Update. |
| (po_lex_pass_comments): Change argument type to bool. |
| (po_lex_pass_obsolete_entries): Likewise. |
| * po.h (struct po_method_ty): Change 'obsolete' argument type of |
| directive_message to bool. |
| (po_callback_message): Change 'obsolete' argument type to bool. |
| * po.c (po_directive_message): Change 'obsolete' argument type to bool. |
| (po_callback_message): Likewise. |
| * read-po.c (struct readall_class_ty): Change type of field 'is_fuzzy' |
| to bool. |
| (readall_directive_message): Change 'obsolete' argument type to bool. |
| (readall_constructor): Update. |
| (readall_parse_brief): Update. |
| (readall_comment_special): Update. |
| (read_po_file): Update. |
| * str-list.h: Include stdbool.h. |
| (string_list_member): Change return type to bool. |
| * str-list.c (string_list_member): Change return type to bool. |
| * write-po.h (message_print_style_escape, msgdomain_list_print): Change |
| argument type to bool. |
| * write-po.c (make_c_format_description_string) Change argument type |
| to bool. |
| (message_print): Likewise. |
| (message_print_obsolete): Likewise. |
| (indent): Change type to bool. |
| (uniforum): Likewise. |
| (escape): Likewise. |
| (message_print_style_indent): Update. |
| (message_print_style_uniforum): Update. |
| (message_print_style_escape): Change argument type to bool. |
| (wrap): Update. |
| (msgdomain_list_print): Change argument type to bool. |
| * xget-lex.h (xgettext_any_keywords): Change return type to bool. |
| * xget-lex.c (trigraphs): Change type to bool. |
| (default_keywords): Likewise. |
| (phase5_get): Use NULL not 0. Update. |
| (phaseX_get): Use bool. |
| (xgettext_lex): Update. |
| (xgettext_lex_keyword): Update. |
| (xgettext_any_keywords): Change return type to bool. |
| (xgettext_lex_trigraphs): Update. |
| * xgettext.c (add_all_comments): Change type to bool. |
| (extract_all): Likewise. |
| (long_options): Update. |
| (exclude_directive_message): Change 'obsolete' argument type to bool. |
| (extract_directive_message): Likewise. |
| (main): Use bool. |
| (scan_c_file): Update. |
| (struct extract_class_ty): Change type of field 'is_fuzzy' to bool. |
| Change type of field 'filepos_count' to size_t. |
| (extract_constructor): Update. |
| (extract_parse_brief): Update. |
| (extract_comment_special): Update. |
| (construct_header): Update. |
| |
| 2001-06-25 Bruno Haible <haible@clisp.cons.org> |
| |
| * msggrep.c (usage): Explain the pattern syntax. |
| |
| 2001-06-18 Karl Eichwalder <ke@suse.de> |
| |
| * msgcomm.c (long_options): Add '--unique' option as documented |
| within --help output. |
| |
| 2001-06-12 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (extension_to_language): Recognize "*.hh" as being C++. |
| Reported by Felix Natter. |
| |
| 2001-06-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcmp.c (main): Set gram_max_allowed_errors to UINT_MAX, as in |
| msgmerge.c. |
| |
| 2001-06-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.c (message_alloc): Cast xmalloc return value. |
| (message_list_alloc): Likewise. |
| (message_list_list_alloc): Likewise. |
| (msgdomain_alloc): Likewise. |
| (msgdomain_list_alloc): Likewise. |
| * msgunfmt.c (string32): Likewise. |
| * po.c (po_alloc): Likewise. |
| * str-list.c (string_list_concat): Likewise. |
| (string_list_join): Likewise. |
| |
| 2001-06-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h (message_ty): New field 'tmp'. |
| (message_predicate_ty): New type. |
| (message_list_remove_if_not): New declaration. |
| * message.c (message_list_delete_nth): Comment out. |
| (message_list_remove_if_not): New function. |
| * msgl-charset.h: New file. |
| * msgl-charset.c: New file. |
| * msgl-iconv.h: New file. |
| * msgl-iconv.c: New file. |
| * msgcat.c: New file. |
| * msgconv.c: New file. |
| * msgen.c: New file. |
| * msggrep.c: New file. |
| * msgsed.c: New file. |
| * msgcomm.c (default_domain, output_dir): Remove variables. |
| (long_options): Remove --default-domain and --output-dir. Add |
| --output-file. |
| (main): Don't accept -a, -C, -d, -k, -l, -L, -m, -M, -p, -T, -x. |
| Use output_file instead of complexly computed file_name. |
| Use O(n) loop instead of O(n^2) loop for removing messages. |
| (usage): Don't document --default-domain and --output-dir. |
| (is_message_selected): New function. |
| * Makefile.am (bin_PROGRAMS): Add msgcat, msgconv, msgen, msggrep, |
| msgsed. |
| (noinst_HEADERS): Add msgl-charset.h, msgl-iconv.h. |
| (msgcat_SOURCES, msgconv_SOURCES, msgen_SOURCES, msggrep_SOURCES, |
| msgsed_SOURCES): New variables. |
| (msgcat_LDADD, msgconv_LDADD, msgen_LDADD, msggrep_LDADD, |
| msgsed_LDADD): New variables. |
| |
| 2001-06-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h (struct message_variant_ty): Remove type. |
| (struct message_ty): Remove variant_count, variant fields. Add |
| msgstr, msgstr_len, pos fields. |
| (message_alloc): Add msgstr, msgstr_len, pp arguments. |
| (message_variant_search, message_variant_append): Remove declarations. |
| (msgdomain_ty): New type. |
| (msgdomain_alloc, msgdomain_free): New declarations. |
| (msgdomain_list_ty): New type. |
| (msgdomain_list_alloc, msgdomain_list_free, msgdomain_list_append, |
| msgdomain_list_append_list, msgdomain_list_sublist, |
| msgdomain_list_search, msgdomain_list_search_fuzzy): New declarations. |
| * message.c (message_alloc): Add msgstr, msgstr_len, pp arguments. |
| (message_free): Update. |
| (message_variant_search): Remove function. |
| (message_variant_append): Remove function. |
| (message_copy): Update. |
| (message_merge): Update. |
| (message_list_alloc): Use NULL, not 0. |
| (message_list_search): Likewise. |
| (message_list_search_fuzzy_inner): Update. |
| (message_list_list_alloc): Use NULL, not 0. |
| (message_list_list_search): Likewise. |
| (message_list_list_free): Comment out. |
| (msgdomain_alloc, msgdomain_free, msgdomain_list_alloc, |
| msgdomain_list_append, msgdomain_list_sublist): New functions. |
| * read-po.h (read_po_file): Change return type to |
| 'msgdomain_list_ty *'. |
| * read-po.c (readall_class_ty): Remove field domain_list, add field |
| mdlp. |
| (readall_constructor): Update. |
| (readall_destructor): Likewise. |
| (readall_directive_message): Likewise. |
| (readall_parse_debrief): Remove function. |
| (readall_methods): Use NULL instead of readall_parse_debrief. |
| (read_po_file): Change return type to 'msgdomain_list_ty *'. |
| * write-po.h (message_list_print, message_list_sort_by_msgid, |
| message_list_sort_by_filepos): Remove declarations. |
| (msgdomain_list_print, msgdomain_list_sort_by_msgid, |
| msgdomain_list_sort_by_filepos): New declarations. |
| * write-po.c (message_print): Remove domain argument. Update. Assume |
| 'first' is true. |
| (message_print_obsolete): Likewise. |
| (msgdomain_list_print): Renamed from message_list_print. Change type |
| of first argument. |
| (msgdomain_list_sort_by_msgid): Renamed from |
| message_list_sort_by_msgid. Change type of argument. |
| (msgdomain_list_sort_by_filepos): Renamed from |
| message_list_sort_by_filepos. Change type of argument. |
| * msgcmp.c (compare_class_ty): Remove field domain_list, add field |
| mdlp. |
| (multi_domain_mode): New variable. |
| (long_options): Add --multi-domain. |
| (main): Accept -m/--multi-domain. |
| (usage): Explain --multi-domain. |
| (match_domain): New function, extracted from 'compare'. |
| (compare): Update. Handle multi_domain_mode. Change argument types to |
| 'const char *'. |
| (compare_constructor): Update. |
| (compare_destructor): Likewise. |
| (compare_directive_message): Likewise. |
| (compare_parse_debrief): Remove function. |
| (compare_methods): Use NULL instead of compare_parse_debrief. |
| (grammar): Change argument type to 'const char *' and return type to |
| 'msgdomain_list_ty *'. |
| * msgcomm.c (main): Update. |
| (extract_directive_message): Update. |
| * msgmerge.c (multi_domain_mode): New variable. |
| (long_options): Add --multi-domain. |
| (struct statistics): New type. |
| (main): Accept -m/--multi-domain. Update. |
| (usage): Explain --multi-domain. |
| (compendium): Update. |
| (match_domain): New function, extracted from 'merge'. |
| (merge): Update. Handle multi_domain_mode. |
| * msgunfmt.c (main): Update. |
| (read_mo_file): Update. |
| * xgettext.c (main): Update. |
| (exclude_directive_message): Update. |
| (remember_a_message): Likewise. |
| (remember_a_message_plural): Likewise. |
| (scan_c_file): Change argument type to 'msgdomain_list_ty *'. |
| (extract_directive_message): Update. |
| (read_po_file): Change argument type to 'msgdomain_list_ty *'. |
| (construct_header): Update. |
| |
| * dir-list.h: Don't use reserved identifiers in prototypes. |
| * gettext.c: Likewise. |
| * message.c: Likewise. |
| * msgcmp.c: Likewise. |
| * msgcomm.c: Likewise. |
| * msgfmt.c: Likewise. |
| * msgunfmt.c: Likewise. |
| * ngettext.c: Likewise. |
| * open-po.h: Likewise. |
| * po-hash.h: Likewise. |
| * po-lex.h: Likewise. |
| * po-lex.c: Likewise. |
| * po.h: Likewise. |
| * po.c: Likewise. |
| * str-list.h: Likewise. |
| * write-po.c: Likewise. |
| * xget-lex.h: Likewise. |
| * xget-lex.c: Likewise. |
| * xgettext.c: Likewise. |
| |
| 2001-06-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h (message_list_prepend): New declaration. |
| * message.c (message_list_prepend): New function. |
| * msgmerge.c (merge): Add a header entry to the ref list if it has |
| none. |
| |
| 2001-06-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c: Change the --strict option to not apply to domain |
| directives, only to the output filename argument. |
| (struct msg_domain): Add file_name field. |
| (domain_list): Renamed from domain. |
| (new_domain): Add file_name argument. |
| (main): Pass file name to new_domain(). Use file_name passed to |
| new_domain() in fopen call; don't free it. |
| (new_domain): New argument 'file_name'. |
| (format_directive_domain): Always ensure ".mo" suffix, independently |
| of --strict. |
| (format_directive_message): Likewise. |
| (add_mo_suffix): Don't call xstrdup. |
| |
| 2001-06-01 Bruno Haible <haible@clisp.cons.org> |
| |
| * Makefile.am (datadir): Remove definition. |
| Reported by Albert Chin-A-Young <china@thewrittenword.com>. |
| |
| 2001-05-15 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcmp.c (main): Call set_program_name instead of assigning |
| program_name directly. |
| * msgcomm.c (main): Likewise. |
| * msgfmt.c (main): Likewise. |
| * msgmerge.c (main): Likewise. |
| * msgunfmt.c (main): Likewise. |
| * xgettext.c (main): Likewise. |
| * gettext.c (main): Remove "lt-" prefix from program_name. |
| * ngettext.c (main): Likewise. |
| |
| 2001-05-04 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext.c (usage): Add description of what the program does. |
| Separate blocks with blank lines. |
| * ngettext.c (usage): Likewise. |
| |
| * msgcmp.c (usage): Add a blank line after the first usage line. |
| Hardwire the blank line output. |
| * msgcomm.c (usage): Likewise. |
| * msgfmt.c (usage): Likewise. |
| * msgmerge.c (usage): Likewise. |
| * msgunfmt.c (usage): Likewise. |
| * xgettext.c (usage): Likewise. |
| |
| 2001-05-05 Karl Eichwalder <ke@suse.de> |
| |
| * xgettext.c (read_name_from_file): Remove trailing space from line. |
| * msgcomm.c (read_name_from_file): Likewise. |
| |
| 2001-05-02 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-charset.c: Don't include stdio.h, stdlib.h, mbswidth.h. Include |
| xerror.h instead. |
| (multiline_warning): Move to xerror.c. |
| (po_lex_charset_set): Use xasprintf instead of asprintf. |
| * msgfmt.c: Include xerror.h. |
| (format_debrief): Use multiline_error for the error message. |
| |
| 2001-05-01 Bruno Haible <haible@clisp.cons.org> |
| |
| Prefix most error messages with the program name, except those |
| starting with "filename:lineno:". |
| * po-lex.h: Include progname.h. |
| (po_gram_error): Set error_with_progname = 0 during error_at_line() |
| call. |
| (po_gram_error_at_line): Likewise. |
| * po-lex.c (po_gram_error): Likewise. |
| (po_gram_error_at_line): Likewise. |
| * msgcmp.c: Include progname.h. |
| (program_name): Remove variable. |
| (error_print): Remove function. |
| (main): Initialize error_print_progname with maybe_print_progname. |
| * msgcomm.c: Include progname.h. |
| (program_name): Remove variable. |
| (error_print): Remove function. |
| (main): Initialize error_print_progname with maybe_print_progname. |
| * msgfmt.c: Include progname.h. |
| (program_name): Remove variable. |
| (error_print): Remove function. |
| (main): Initialize error_print_progname with maybe_print_progname. |
| (format_directive_message): Set error_with_progname = 0 during |
| error_at_line() call. |
| (check_pair): Likewise. |
| * msgmerge.c: Include progname.h. |
| (program_name): Remove variable. |
| (error_print): Remove function. |
| (main): Initialize error_print_progname with maybe_print_progname. |
| * msgunfmt.c: Include progname.h. |
| (program_name): Remove variable. |
| (error_print): Remove function. |
| (main): Initialize error_print_progname with maybe_print_progname. |
| * xget-lex.c: Include progname.h. |
| (phase5_get): Set error_with_progname = 0 during error() call. |
| * xgettext.c: Include progname.h. |
| (program_name): Remove variable. |
| (error_print): Remove function. |
| (main): Initialize error_print_progname with maybe_print_progname. |
| (scan_c_file): Set error_with_progname = 0 during error() call. |
| |
| 2001-04-30 Bruno Haible <haible@clisp.cons.org> |
| |
| Save the messages' obsoleteness status in the 'message_ty'. |
| * po.h (struct po_method_ty): Add 'obsolete' argument to |
| directive_message method. |
| (po_callback_message): Add 'obsolete' argument. |
| * po.c (po_directive_message): Add 'obsolete' argument. Pass it to |
| method->directive_message. |
| (po_callback_message): Add 'obsolete' argument. |
| * po-gram-gen.y (message): Pass 'obsolete' argument to |
| po_callback_message. |
| * msgcmp.c (compare_directive_message): Add 'obsolete' argument. |
| * msgcomm.c (extract_directive_message): Likewise. |
| * msgfmt.c (format_directive_message): Likewise. |
| * xgettext.c (exclude_directive_message, extract_directive_message): |
| Likewise. |
| * read-po.c (readall_directive_message): Likewise. Set mp->obsolete. |
| |
| 2001-05-01 Bruno Haible <haible@clisp.cons.org> |
| |
| Reduce running time for very long msgstrs from O(n^2) to O(n) where |
| n is the number of string pieces. |
| * str-list.h (string_list_init, string_list_destroy, |
| string_list_concat, string_list_concat_destroy): New declarations. |
| * str-list.c (string_list_init, string_list_destroy, |
| string_list_concat, string_list_concat_destroy): New functions. |
| * po-gram-gen.y Include str-list.h. |
| (%union): Add new alternative of type string_list_ty. |
| (string_list): Change type to stringlist. |
| (message): Use string_list_concat_destroy to convert a stringlist to |
| a single string. Use string_list_destroy instead of free. |
| (msgid_pluralform): Likewise. |
| (pluralform): Likewise. |
| (string_list): Return a stringlist. Don't concatenate the strings one |
| by one. |
| * po-lex.c: Include str-list.h. |
| |
| 2001-04-30 Bruno Haible <haible@clisp.cons.org> |
| |
| * message.h (message_alloc): Add const to prototype. |
| * message.c (message_alloc): Add const to argument type. |
| * msgcmp.c (compare_class_ty): Add const to 'domain' field. |
| * msgcomm.c (default_domain): Add const. |
| (main): Add const to 'file_name' variable. |
| * xgettext.c (default_domain): Add const. |
| (msgstr_prefix): Likewise. |
| (msgstr_suffix): Likewise. |
| (main): Add const to 'file_name' variable. |
| |
| 2001-04-29 Bruno Haible <haible@clisp.cons.org> |
| |
| * read-po.h: New file. |
| * read-po.c: New file, extracted from msgmerge.c. |
| * msgmerge.c: Don't include string.h. Include read-po.h instead. |
| (merge_class_ty, line_comment, merge_constructor, merge_destructor, |
| merge_directive_domain, merge_directive_message, merge_parse_brief, |
| merge_parse_debrief, merge_comment, merge_comment_dot, |
| merge_comment_special, merge_comment_filepos, grammar): Move out to |
| read-po.c. |
| (compendium, merge): Call read_po_file() instead of grammar(). |
| * Makefile.am (noinst_HEADERS): Add read-po.h. |
| (msgmerge_SOURCES): Add read-po.c. |
| * FILES: Update. |
| |
| 2001-04-28 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcmp.c (usage): Restructure usage message. Talk about ref.pot, not |
| ref.po. |
| * msgcomm.c (long_options): Remove --add-comments, --join-existing |
| options. |
| (main): Rename local variables sort_output, sort_by_file to |
| sort_by_msgid, sort_by_filepos. Remove -c and -j options. |
| (usage): Restructure usage message. INPUTFILE is not mandatory. Remove |
| --trigraphs option. |
| * msgfmt.c (usage): Restructure usage message. |
| * msgmerge.c (main): Signal error if both --sort-output and |
| --sort-by-file were given. |
| (usage): Restructure usage message. Talk about ref.pot, not ref.po. |
| Document --sort-output, --sort-by-file, --quiet. |
| * msgunfmt.c (long_options): Add --sort-output. |
| (main): Recognize -s/--sort-output option, and sort the message list |
| when it is given. |
| (usage): Restructure usage message. |
| * xgettext.c (main): Rename local variables sort_output, sort_by_file |
| to sort_by_msgid, sort_by_filepos. |
| (usage): Restructure usage message. |
| |
| 2001-04-28 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-charset.h: New file. |
| * po-charset.c: New file, extracted from po.c. Don't warn about wrong |
| or missing charset if it's a POT file. |
| * po-lex.h (iconv.h, po_lex_iconv): Move to po-charset.h. |
| (po_lex_charset): Remove declaration. |
| * po-lex.c: Include po-charset.h. |
| (po_lex_charset, po_lex_iconv): Move to po-charset.c. |
| (lex_open): Call po_lex_charset_init. |
| (lex_close): Call po_lex_charset_close. |
| * po.c: Don't include ctype.h, stdio.h, mbswidth.h, libgettext.h. |
| Include po-charset.h instead. |
| (program_name, _, SIZEOF, multiline_warning): Move to po-charset.c. |
| (po_callback_message): Move charset handling to po-charset.c. |
| * Makefile.am (noinst_HEADERS): Add po-charset.h. |
| (msgcmp_SOURCES, msgfmt_SOURCES, msgmerge_SOURCES, xgettext_SOURCES, |
| msgcomm_SOURCES): Add po-charset.c. |
| * FILES: Update. |
| |
| * msgfmt.c: Don't include ctype.h. |
| * msgunfmt.c: Likewise. |
| |
| 2001-04-28 Bruno Haible <haible@clisp.cons.org> |
| |
| * po.h (PO_BASE_TY): Remove next_is_fuzzy field. |
| * po.c (po_alloc): Don't reset next_is_fuzzy. |
| (po_callback_message): Ignore fuzziness of the header entry. Don't |
| reset next_is_fuzzy. |
| (po_callback_comment): Don't set next_is_fuzzy. |
| * msgfmt.c (format_directive_message): Ignore fuzziness of the header |
| entry. Count fuzzy untranslated entries as untranslated. |
| |
| 2001-09-13 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext-0.10.40 released. |
| |
| 2001-07-24 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext-0.10.39 released. |
| |
| 2001-05-23 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext-0.10.38 released. |
| |
| 2001-05-23 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-po.c (wrap): Avoid broken EUC-KR conversion in glibc-2.1. |
| |
| 2001-05-21 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (construct_header): Replace 8-bit with 8bit. |
| |
| 2001-04-19 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext-0.10.37 released. |
| |
| 2001-04-18 Bruno Haible <haible@clisp.cons.org> |
| |
| * po.c (po_callback_message): Don't call iconv_open when the |
| OLD_PO_FILE_INPUT environment variable is set. |
| * write-po.c (wrap): Don't call iconv_open when the OLD_PO_FILE_OUTPUT |
| environment variable is set. |
| |
| 2001-04-09 Bruno Haible <haible@clisp.cons.org> |
| |
| * po.c: Include mbswidth.h. |
| (program_name): New declaration. |
| (multiline_warning): New function. |
| (po_callback_message): Change messages again. Call multiline_warning |
| instead of error. |
| |
| 2001-04-04 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext.c (program_name): Change type to 'const char *'. |
| * ngettext.c (program_name): Likewise. |
| |
| 2001-04-04 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-po.c (wrap): Prohibit line breaks inside backslash escape |
| sequences. |
| |
| 2001-03-29 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext-0.10.36 released. |
| |
| 2001-03-27 Bruno Haible <haible@clisp.cons.org> |
| |
| * po.c (po_callback_message): Change message again. |
| |
| 2001-03-26 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (test_whether_c_format): Recognize '%%' as valid. |
| * msgfmt.c (check_pair): In error message, count format |
| specifications starting from 1, not 0. |
| |
| 2001-03-25 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (warn_id_len): Remove unused variable. |
| (main): Don't set it. 'l' option becomes a nop. |
| (usage): Remove mention of --string-limits/-l. |
| |
| 2001-03-23 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcomm.c (main): Don't give an error message if there are "too few" |
| messages in the input files. Do sanity checking before reading the |
| input files. Make --add-location the default, even if --omit-header |
| is specified. |
| |
| 2001-03-22 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (construct_header): Replace ENCODING with 8-bit. |
| |
| 2001-03-20 Bruno Haible <haible@clisp.cons.org> |
| |
| * po.c (po_callback_message): Change message, refer to GNU libiconv. |
| |
| 2001-03-18 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext.c [TESTS]: When testing, set HAVE_SETLOCALE. |
| (main): Expand escape sequences also if no domain is given. Don't need |
| to call bindtextdomain if there are no string arguments. |
| * ngettext.c: New file. |
| * Makefile.am (bin_PROGRAMS): Add ngettext. |
| (ngettext_SOURCES): New variable. |
| |
| 2001-03-19 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (extension_to_language): Recognize "*.cpp" and "*.hpp" as |
| being C++. |
| Patch by Dennis Bjorklund <db@zigo.dhs.org>. |
| |
| 2001-03-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext.c: Force inclusion of libgnuintl.h. On Solaris, <locale.h> |
| has already included libintl.h. |
| |
| 2001-03-11 Bruno Haible <haible@clisp.cons.org> |
| Karl Eichwalder <ke@suse.de> |
| |
| * po.c (po_callback_message): Add comments to support translators. |
| |
| 2001-03-11 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-lex.c (lex_close): Use ngettext and plural-form message. |
| * msgcmp.c (compare): Likewise. |
| * msgfmt.c (main): Likewise. |
| |
| 2001-03-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * po.c (po_callback_message): Cast %*s argument from size_t to int. |
| * msgfmt.c (format_debrief): Likewise. |
| (check_pair): Cast format string argument from size_t to long. |
| * msgmerge.c (merge): Likewise. |
| |
| * gettext.c (main): Update copyright year. |
| * msgcmp.c (main): Likewise. |
| * msgcomm.c (main): Likewise. |
| * msgfmt.c (main): Likewise. |
| * msgmerge.c (main): Likewise. |
| * msgunfmt.c (main): Likewise. |
| * xgettext.c (main): Likewise. |
| |
| * po.c (po_callback_message): Also warn if no iconv is present and |
| the charset is a CJK encoding requiring iconv. Also avoid broken |
| EUC-KR conversion in glibc-2.1. |
| |
| 2001-03-09 Bruno Haible <haible@clisp.cons.org> |
| |
| Fix output of strings in CJK encodings. |
| * write-po.c: Include iconv.h. |
| (wrap): While preparing a line, use iconv to avoid treating the second |
| byte of a multi-byte character as an ASCII character. |
| |
| 2001-03-04 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcomm.c (main): Use IS_ABSOLUTE_PATH and concatenated_pathname. |
| Fixes an incorrectly computed memory allocation. |
| * xgettext.c (main): Likewise. |
| * open-po.c (open_po_file): Use IS_ABSOLUTE_PATH and |
| concatenated_pathname. |
| * xget-lex.c (xgettext_lex_open): Likewise. |
| * msgfmt.c (main): Use SET_BINARY instead of setmode. |
| * msgunfmt.c (read_mo_file): Likewise. |
| |
| 2001-03-04 Bruno Haible <haible@clisp.cons.org> |
| |
| Check syntax of obsolete entries of PO files, not only in msgmerge. |
| * po-lex.h (pass_obsolete_entries): New declaration. |
| (msgstr_def): Remove pos field. |
| * po-lex.c (po_lex_obsolete): New variable. |
| (pass_obsolete_entries): Make non-static. |
| (lex_open): Initialize po_lex_obsolete. |
| (lex_close): Reset po_lex_obsolete. |
| (po_gram_lex): Don't look at pass_obsolete_entries. Instead, set |
| po_lex_obsolete to 1 when "#~" is seen. Reset po_lex_obsolete when |
| a newline is seen. Before returning, fill the 'pos' and 'obsolete' |
| fields of any token. |
| * po-gram.gen.y (check_obsolete): New macro. |
| (union): Add a 'pos' and 'obsolete' field for any symbol type. |
| (NAME): Assign to type <string>. |
| (DOMAIN, MSGID, MSGID_PLURAL, MSGSTR, '[', ']'): Assign to type <pos>. |
| (msgid, msgstr): Remove. |
| (message, msgid_pluralform, pluralform_list, pluralform, string_list): |
| Signal an error if the 'obsolete' field is not the same across the |
| entire token sequence of the rule. |
| (message): Deal with pass_obsolete_entries here. |
| (msgid_pluralform, pluralform_list, pluralform, string_list): Fill the |
| 'pos' and 'obsolete' fields of $$. |
| |
| 2001-03-03 Bruno Haible <haible@clisp.cons.org> |
| |
| Fix parsing of strings in CJK encodings. |
| * po.h (PO_BASE_TY): New field next_is_fuzzy. |
| * po-lex.h: Include iconv.h. |
| (po_lex_charset, po_lex_iconv): New declarations. |
| * po.c (SIZEOF): New macro. |
| (po_alloc): Initialize next_is_fuzzy. |
| (po_callback_message): Add check of charset in header entry. |
| Set po_lex_charset and po_lex_iconv. |
| After calling po_directive_message, reset next_is_fuzzy. |
| (po_callback_comment): Set next_is_fuzzy. |
| * msgfmt.c (format_directive_message): Remove check of charset in |
| header entry, now done in po.c. |
| * po-lex.c (po_lex_charset, po_lex_iconv): New variables. |
| (lex_open): Initialize them. |
| (lex_close): Reset them. |
| (po_gram_lex): While parsing a string, use 'po_lex_iconv' to avoid |
| treating the second byte of a multi-byte character as an ASCII |
| character. |
| * Makefile.am (msgcmp_LDADD, msgfmt_LDADD): New variables. |
| |
| 2001-03-03 Bruno Haible <haible@clisp.cons.org> |
| |
| * write-po.h: New file, pieces of message.h. |
| * message.h (message_page_width_set, message_print_style_indent, |
| message_print_style_uniforum, message_print_style_escape, |
| message_list_print, message_list_sort_by_msgid, |
| message_list_sort_by_filepos): Move to write-po.h. |
| * write-po.c: New file, pieces of message.c. |
| (wrap): Add charset argument. Rewritten to use mbs_width_linebreaks(). |
| Use c_isprint() instead of isprint(). |
| (message_print): Add charset argument. Insert a space after '#' even |
| if the comment line's first character is a tab. |
| (message_print_obsolete): Likewise. |
| (message_list_print): Don't change locales. Extract the charset name |
| from the header entry. |
| (msgid_cmp, filepos_cmp): Always use strcmp, never use strcoll. |
| (message_list_sort_by_msgid, message_list_sort_by_filepos): Don't |
| change locales. |
| * message.c (indent, uniforum, escape, page_width, |
| make_c_format_description_string, significant_c_format_p, |
| make_c_width_description_string, message_print_style_indent, |
| message_print_style_uniforum, message_print_style_escape, wrap, |
| print_blank_line, message_print, message_print_obsolete, |
| message_list_print, msgid_cmp, message_list_sort_by_msgid, |
| filepos_cmp, message_list_sort_by_filepos, message_page_width_set): |
| Move to write-po.c. |
| * msgmerge.c: Include write-po.h. |
| * msgunfmt.c: Likewise. |
| * xgettext.c: Likewise. |
| * msgcomm.c: Likewise. |
| * Makefile.am (noinst_HEADERS): Add write-po.h. |
| (msgmerge_SOURCES): Add write-po.c. |
| (msgunfmt_SOURCES): Likewise. |
| (xgettext_SOURCES): Likewise. |
| (msgcomm_SOURCES): Likewise. |
| (msgmerge_LDADD, msgunfmt_LDADD, xgettext_LDADD, msgcomm_LDADD): New |
| variables. |
| |
| 2001-03-03 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcmp.c (compare): Internationalize error message. |
| |
| 2001-02-10 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgunfmt.c (main): Accept -e and -E options. |
| |
| 2001-02-04 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (main): Open the output file in binary mode. |
| * msgunfmt.c (read_mo_file): Open the input file in binary mode. |
| |
| 2001-01-21 Bruno Haible <haible@clisp.cons.org> |
| |
| Use libtool. |
| * Makefile.am (LDADD): Remove ../intl/libintl.$la, not needed any more. |
| (l): Remove macro. |
| |
| 2001-01-20 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcomm.c (main): Options '-<' and '->' want an argument. |
| |
| 2001-01-07 Bruno Haible <haible@clisp.cons.org> |
| |
| * gettext.c: Renamed from gettextp.c. Use included libintl if TESTS |
| is defined. |
| * setlocale.c: Move to ../tests. |
| * Makefile.am (EXTRA_PROGRAMS, all-local, CLEANFILES): Remove. |
| (tstgettext_SOURCES): Remove. |
| (gettext_SOURCES): Update. |
| |
| 2001-01-07 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgcmp.c: Include libgettext.h instead of libintl.h, so that the |
| configure argument --disable-nls gets respected. |
| * msgfmt.c: Likewise. |
| * msgmerge.c: Likewise. |
| * msgunfmt.c: Likewise. |
| * open-po.c: Likewise. |
| * po-gram-gen.y: Likewise. |
| * po-lex.c: Likewise. |
| * xgettext.c: Likewise. Don't include gettext.h. |
| |
| 2001-01-07 Bruno Haible <haible@clisp.cons.org> |
| |
| Assume <stddef.h>, <stdlib.h>, <string.h>, <locale.h> exist. |
| * dir-list.c: Likewise. |
| * gettextp.c: Likewise. |
| * message.c: Likewise. |
| * msgcmp.c: Likewise. |
| * msgcomm.c: Likewise. |
| * msgfmt.c: Likewise. |
| * msgmerge.c: Likewise. |
| * msgunfmt.c: Likewise. |
| * open-po.c: Likewise. |
| * po.c: Likewise. |
| * setlocale.c: Likewise. |
| * str-list.h: Likewise. |
| * xget-lex.c: Likewise. |
| * xgettext.c: Likewise. |
| |
| 2001-01-06 Bruno Haible <haible@clisp.cons.org> |
| |
| * Makefile.am (datadir): Assume DATADIRNAME = share. |
| |
| 2001-01-06 Bruno Haible <haible@clisp.cons.org> |
| |
| * setlocale.c: New file. |
| * Makefile.am (EXTRA_PROGRAMS): New variable. |
| (all-local): New target. |
| (CLEANFILES): New variable. |
| (tstgettext_SOURCES): New variable. |
| |
| 2001-01-05 Bruno Haible <haible@clisp.cons.org> |
| |
| * Makefile.am (po-gram-gen.h): Don't use $^, not supported by the |
| SUSV2 "make" specification. |
| (LDADD): Add @INTLLIBS@. Needed on Solaris without |
| --with-included-gettext. |
| * po-lex.c (gram_max_allowed_errors): Change type to |
| 'unsigned int'. |
| |
| 2001-01-01 Bruno Haible <haible@clisp.cons.org> |
| |
| Implement plural form handling. |
| * message.h (struct message_variant_ty): Add msgstr_len field. |
| (struct message_ty): Add msgid_plural field. |
| (message_alloc): Take additional msgid_plural argument. |
| (message_variant_append): Take additional msgstr_len argument. |
| * message.c (message_alloc): Take additional msgid_plural argument. |
| (message_free): Free msgid_plural field. |
| (message_variant_append): Take additional msgstr_len argument. |
| (message_copy): Copy msgid_plural as well. Pass msgstr_len. |
| (message_merge): Likewise. |
| (message_print): Print plural entries using a different format. |
| (message_print_obsolete): Likewise. |
| * msgunfmt.c (string32): Return the string's size as well. Verify |
| the string is NUL terminated. |
| (read_mo_file): Split the original string into msgid and msgid_plural. |
| Pass msgstr_len. |
| * po-lex.h (msgstr_def): New definition, taken from msgfmt.c. |
| * po-lex.c (keyword_p): Recognize the msgid_plural keyword. |
| (po_gram_lex): Accept brackets as single-character tokens. |
| * po.h (struct po_method_ty): Method 'directive_message' takes |
| additional arguments 'msgid_plural', 'msgstr_len'. |
| (po_callback_message): Additional arguments 'msgid_plural', |
| 'msgstr_len'. |
| * po-hash-gen.y (yyerror): Effectively rename to po_hash_error. |
| * po-gram-gen.y (yyerror): Effectively rename to po_gram_error, |
| thus enabling reporting of syntax errors. |
| (plural_counter): New variable. |
| (%token): Add MSGID_PLURAL, '[', ']' as new tokens. |
| (%union): Add new alternative of type 'struct msgstr_def'. |
| (msgid_pluralform, pluralform, pluralform_list): New productions. |
| (message): Add plural rules. |
| * po.c (po_directive_message): Additional arguments 'msgid_plural', |
| 'msgstr_len'. |
| (po_callback_message): Likewise. |
| * msgfmt.c (SIZEOF): New macro. |
| (struct id_str_pair): Add id_len, id_plural, id_plural_len, str_len |
| fields. |
| (struct hashtable_entry): Renamed from struct msgstr_def. Add |
| 'msgid_plural', 'msgstr_len' fields. |
| (format_directive_message): Additional arguments 'msgid_plural', |
| 'msgstr_len'. Verify the validity of the charset field in the header. |
| Compare msgstr using memcmp, not strcmp. |
| (check_pair): Additional arguments 'msgid_plural', 'msgstr_len'. |
| Apply the tests to msgid_plural and each msgstr[i] string. |
| (format_debrief): Change error message. |
| (write_table): Store msgid_plural and msgstr_len in msg_arr[], then |
| output the strings including embedded NULs. |
| * msgcmp.c (compare_directive_message): Additional arguments |
| 'msgid_plural', 'msgstr_len'. |
| * msgcomm.c (extract_directive_message): Additional arguments |
| 'msgid_plural', 'msgstr_len'. |
| * msgmerge.c (merge_directive_message): Additional arguments |
| 'msgid_plural', 'msgstr_len'. |
| * xget-lex.h (struct xgettext_token_ty): Replace argnum field with |
| argnum1, argnum2. |
| * xget-lex.c (xgettext_lex): Add to default keywords: "ngettext:1,2", |
| "dngettext:2,3", "dcngettext:2,3". |
| (xgettext_lex_keyword): Accept new syntax "id:argnum1,argnum2". |
| * xgettext.c (exclude_directive_message): Additional arguments |
| 'msgid_plural', 'msgstr_len'. |
| (remember_a_message): Return the new message. |
| (remember_a_message_plural): New function. |
| (scan_c_file): Extend state machine to allow remembering msgid1 and |
| msgid2 later. |
| (extract_directive_message): Additional arguments 'msgid_plural', |
| 'msgstr_len'. Compare msgstr using memcmp, not strcmp. |
| (construct_header): Update. |
| |
| 2000-12-31 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (format_directive_message): Pass to insert_entry and |
| find_entry the length including the terminating NUL. |
| * xget-lex.c (xgettext_lex, xgettext_lex_keyword): Likewise. |
| |
| 2000-12-31 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgunfmt.c (read_mo_file): Recognize "/dev/stdin", not "/dev/stdout". |
| |
| 2000-12-31 Bruno Haible <haible@clisp.cons.org> |
| |
| * str-list.h: Fix typo. Add comments. |
| * str-list.c: Add comments. |
| |
| * dir-list.h: Add comments. |
| * dir-list.c: Likewise. |
| |
| * domain.h: Remove file. |
| * msgfmt.c: Incorporate it here. Don't include "domain.h". |
| * msgunfmt.c: Don't include "domain.h". |
| * xgettext.c: Likewise. |
| * Makefile.am (noinst_HEADERS): Remove domain.h. |
| |
| * open-po.h: New file. |
| * open-po.c: Include it. |
| * po-lex.c: Likewise. |
| * Makefile.am (noinst_HEADERS): Add open-po.h. |
| |
| * open-po.c (open_po_file): Merge duplicated code. |
| |
| * po-lex.h: Add comments. |
| (gram_max_allowed_errors): Change type to 'unsigned int'. |
| (po_gram_error_at_line): Renamed from gram_error_at_line. |
| (po_gram_error, po_gram_error_at_line): Use ISO C 99 macro vararg |
| syntax if possible. |
| * po-lex.c: Add comments. Don't include "po-gram.h". |
| (po_gram_error_at_line): Renamed from gram_error_at_line. |
| * msgmerge.c (main): Initialize gram_max_allowed_errors to UINT_MAX. |
| |
| * message.h: Add comments. |
| (enum is_wrap): New type. |
| (parse_c_width_description_string): Change return type. |
| (message_ty): Change type of do_wrap field. |
| * message.c (wrap): Change type of do_wrap argument. |
| * msgfmt.c (msgfmt_class_ty): Change type of do_wrap field. |
| * msgmerge.c (merge_class_ty): Change type of do_wrap field. |
| * msgcomm.c (extract_class_ty): Change types of is_c_format, do_wrap |
| fields. |
| * xgettext.c (extract_class_ty): Likewise. |
| (remember_a_message): Change type of do_wrap. |
| |
| * pos.h: New file. |
| * po-lex.h: Include it. |
| (struct lex_pos_ty): Remove type, now in pos.h. |
| * message,h: Include pos.h instead of po-lex.h. |
| * Makefile.am (noinst_HEADERS): Add pos.h. |
| |
| * po.h: Add comments. |
| |
| * gettextp.c (main): Use bindtextdomain instead of bindtextdomain__, |
| and dgettext instead of dgettext__. There is no need to use the |
| included libintl when GNU gettext or an X/Open gettext or a catgets |
| has been found in the system's C library. |
| |
| * ylwrap: Update from automake-1.4. |
| |
| * FILES: New file. |
| * Makefile.am (EXTRA_DIST): New variable. |
| |
| 2000-12-30 Bruno Haible <haible@clisp.cons.org> |
| |
| * xgettext.c (scanner_c, scanner_cxx): Remove declarations. |
| |
| 2000-12-30 Bruno Haible <haible@clisp.cons.org> |
| |
| * msgfmt.c (write_table): Pass additional argument &id_len to |
| iterate_table. |
| |
| 2000-09-13 Bruno Haible <haible@clisp.cons.org> |
| |
| Look into #define bodies. |
| * xget-lex.c (phaseX_get): Simplify. |
| (phase6_get): Stop the loop when recognizing a #define directive. |
| Based on a patch by Martin v. Löwis. |
| |
| Accept ISO C 99 comment syntax. |
| * xget-lex.c (cplusplus_comments: Remove variable. |
| (phase4_getc): Always recognize // comments. |
| (xgettext_lex_cplusplus): Remove function. |
| * xget-lex.h (xgettext_lex_cplusplus): Remove declaration. |
| * xgettext.c (scan_c_file): Remove is_cpp_file argument. |
| (scanner_c, scanner_cxx): Remove functions. |
| (language_to_scanner): Call scan_c_file directly. |
| |
| 2000-08-23 Bruno Haible <haible@clisp.cons.org> |
| |
| * po-lex.c (ALERT_CHAR): New constant macro. |
| (control_sequence): Accept \a. Don't accept \X. |
| |
| 2000-08-23 Ulrich Drepper <drepper@redhat.com> |
| |
| * po-lex.c (control_sequence): Unget character which ended \x.. |
| sequence. |
| |
| 2000-07-28 Bruno Haible <haible@clisp.cons.org> |
| |
| * xget-lex.h (enum xgettext_token_type_ty): Rename |
| xgettext_token_type_lp/rp to xgettext_token_type_lparen/rparen. |
| * xget-lex.c (enum token_type_ty): Rename token_type_lp/rp to |
| token_type_lparen/rparen. |
| (xgettext_any_keywords): `keywords' is now a hash table. |
| * xgettext.c (construct_header): Change two printf directives %02d |
| to %02ld. |
| |
| 1998-07-17 Paul Eggert <eggert@twinsun.com> |
| |
| Add support for user-specified argument numbers for keywords. |
| Extract all strings from a keyword arg, not just the first one. |
| Handle parenthesized commas inside keyword args correctly. |
| Warn about nested keywords. |
| |
| * xgettext.c (scan_c_file): |
| Warn about nested keywords, e.g. _(_("xxx")). |
| Warn also about not-yet-implemented but allowed nesting, e.g. |
| dcgettext(..._("xxx")..., "yyy"). |
| Get all strings in a keyword arg, not just the first one. |
| Handle parenthesized commas inside keyword args correctly. |
| |
| * xget-lex.h (enum xgettext_token_type_ty): |
| Replace xgettext_token_type_keyword1 and |
| xgettext_token_type_keyword2 with just plain |
| xgettext_token_type_keyword; it now has argnum value. |
| Add xgettext_token_type_rp. |
| (struct xgettext_token_ty): Add argnum member. |
| line_number and file_name are now also set for |
| xgettext_token_type_keyword. |
| (xgettext_lex_keyword): Arg is const char *. |
| |
| * xget-lex.c: Include "hash.h". |
| (enum token_type_ty): Add token_type_rp. |
| (keywords): Now a hash table. |
| (phase5_get): Return token_type_rp for ')'. |
| (xgettext_lex, xgettext_lex_keyword): Add support for keyword argnums. |
| (xgettext_lex): Return xgettext_token_type_rp for ')'. |
| Report keyword argnum, line number, and file name back to caller. |
| |
| 2000-05-06 Ulrich Drepper <drepper@redhat.com> |
| |
| * Makefile.am (EXTRA_DIST): Replace po-gram.gen.h and po-hash.gen.h |
| with po-gram-gen.h and po-hash-gen.h. |
| (YACC): Define as @YACC@ -d. |
| (YFLAGS): Removed. |
| (msgcmp_SOURCES): Replace dependencies on po-gram.gen.c and |
| po-hash.gen.c with po-gram-gen.y and po-hash-gen.y. |
| (msgmerge_SOURCES): Likewise. |
| (xgettext_SOURCES): Likewise. |
| (msgcomm_SOURCES): Likewise. |
| Add rule to built po-gram-gen2.h and make po-lex.o depend on it. |
| Remove rules to generate po-gram.gen.c and po-hash.gen.c. |
| Patches by Jim Meyering. |
| |
| * po-lex.c: Include "po-gram-gen2.h" instead of "po-gram.gen.h". |
| |
| * message.c (message_list_search_fuzzy_inner): Define static. Take |
| extra parameter with best weight so far. |
| (message_list_search_fuzzy): New function. |
| (message_list_list_alloc): New function. |
| (message_list_list_append): New function. |
| (message_list_list_append_list): New function. |
| (message_list_list_search): New function. |
| (message_list_list_search_fuzzy): New function. |
| (message_list_list_free): New function. |
| * message.h (message_list_list_ty): Define type. |
| (message_list_list_alloc): Add prototype. |
| (message_list_list_free): Likewise. |
| (message_list_list_append): Likewise. |
| (message_list_list_append_list): Likewise. |
| (message_list_list_search): Likewise. |
| (message_list_list_search_fuzzy): Likewise. |
| * msgmerge.c: Implement --compendium/-C option. |
| * xget-lex.c (xgettext_any_keywords): New function. |
| * xget-lex.h (xgettext_any_keywords): Add prototype. |
| * xgettext.c: Use xgettext_any_keywords to see whether keywords are |
| defined. |
| Patches by Peter Miller. |
| |
| 1998-05-15 Ulrich Drepper <drepper@cygnus.com> |
| |
| * po-lex.c (control_sequence): Replace illegal with invalid. |
| |
| 1998-05-01 08:47 Ulrich Drepper <drepper@cygnus.com> |
| |
| * gettext-0.10.35 released. |
| |
| 1998-04-30 Ulrich Drepper <drepper@cygnus.com> |
| |
| * dir-list.c: Update Peter Miller's mail address. |
| * dir-list.h: Likewise. |
| * message.c: Likewise. |
| * message.h: Likewise. |
| * msgcmp.c: Likewise. |
| * msgcomm.c: Likewise. |
| * msgmerge.c: Likewise. |
| * po-gram.h: Likewise. |
| * po-gram.y: Likewise. |
| * po-hash.h: Likewise. |
| * po-hash.y: Likewise. |
| * po-lex.c: Likewise. |
| * po-lex.h: Likewise. |
| * po.c: Likewise. |
| * po.h: Likewise. |
| * str-list.c: Likewise. |
| * str-list.h: Likewise. |
| * xget-lex.c: Likewise. |
| * xget-lex.h: Likewise. |
| |
| 1998-04-30 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgfmt.c: Fix typo in --help text. |
| Reported by Jan.Djarv@mbox200.swipnet.se. |
| |
| 1998-04-03 01:18 1998 Philippe De Muyter <phdm@macqel.be> |
| |
| * str-list.h (stddef.h): Include that file only if STDC_HEADERS. |
| Otherwise include sys/types.h and stdio.h. |
| * msgmerge.c (string.h): Include that file if HAVE_STRING_H, not |
| if STDC_HEADERS. |
| |
| 1998-04-29 Ulrich Drepper <drepper@cygnus.com> |
| |
| * message.c: Use unsigned char for various local variables. |
| * xgettext.c (comment_tag): Define as unsigned char *. |
| For losing Solaris systems. Patches by Jim Meyering. |
| |
| * msgfmt.c: Use extra braces in if to shut up gcc. |
| * po-lex.h: Don't declare function po_gram_error and |
| gram_error_at_line if macros with the same names are defined. |
| * Makefile.am (MAINTAINERCLEANFILES): New variable. |
| Patches by Jim Meyering. |
| |
| 1998-04-27 Ulrich Drepper <drepper@cygnus.com> |
| |
| * xgettext.c: Update year and bug report address. Add little |
| explanation in --help messages. |
| * msgfmt.c: Likewise. |
| |
| * msgmerge.c: Update year and bug report address. |
| * msgcomm.c: Likewise. |
| * msgcmp.c: Likewise. |
| * msgunfmt.c: Likewise. |
| |
| 1997-08-31 22:20 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgfmt.c (format_directive_message): Count fuzzy messages as |
| fuzzy, even if they are not written to the output file. |
| |
| 1997-08-18 13:47 Philippe De Muyter <phdm@info.ucl.ac.be> |
| |
| * msgcomm.c (sys/types.h): File included. |
| |
| 1997-08-15 12:38 Ulrich Drepper <drepper@cygnus.com> |
| |
| * xgettext.c: Include <sys/param.h> to define MIN/MAX for HP/UX. |
| Patch by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>. |
| |
| * msgfmt.c: Change DEFAULT_ALIGNMENT to DEFAULT_OUTPUT_ALIGNMENT |
| to avoid clash with macro with same name in obstack.c. |
| Reported by Akim Demaille <demaille@inf.enst.fr>. |
| |
| 1997-08-01 15:48 Ulrich Drepper <drepper@cygnus.com> |
| |
| * Makefile.am (AUTOMAKE_OPTIONS): Require version 1.2. |
| |
| 1997-05-07 04:21 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgcomm.c (main): Print author in --version message. |
| * msgunfmt.c: Likewise. |
| * msgcmp.c: Likewise. |
| * msgmerge.c: Likewise. |
| * msgfmt.c: Likewise. |
| * xgettext.c: Likewise. |
| * gettextp.c: Likewise. |
| |
| 1997-05-01 02:33 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgcmp.c (main): Update copyright. |
| * msgunfmt.c (main): Likewise. |
| * msgcomm.c (main): Likewise. |
| * msgmerge.c (main): Likewise. |
| * msgfmt.c (main): Likewise. |
| * gettextp.c (main): Likewise. |
| |
| * msgcomm.c: Fix comment about default output (Jan Djarv). Split |
| help message. |
| |
| 1997-03-31 16:09 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgcomm.c (usage): Use program_name as argument for print to |
| print message, not stdout. |
| Patch by Jan Djarv <jan.djarv@mbox200.swipnet.se>. |
| |
| Mon Mar 10 06:18:58 1997 Ulrich Drepper <drepper@cygnus.com> |
| |
| * xgettext.c: Implement generic language scanner handling. |
| |
| * xget-lex.c (phase7_getc): Better comments. |
| (phase5_get): Print warnings about unterminated strings and |
| character constants. |
| |
| * po-lex.c (po_gram_error): Don't count continuation lines in |
| messages as errors. |
| (gram_error_at_line): Likewise. |
| * po-lex.h: Likewise for macro versions. |
| |
| * po-hash.y: Correct typo. |
| |
| * msgunfmt.c: Implement --force-po option. |
| |
| * msgmerge.c: Implement --force-po, --no-location, and |
| --add-location options. |
| |
| * msgfmt.c (format_directive_message): If messages are duplicated |
| and translations are different this is a fatal error. |
| |
| * msgcmp.c (compare_directive_message): Use correct format for |
| continuation line in message. |
| |
| * message.h: Add prototype for message_list_delete_nth. |
| |
| * message.c: Add message_list_delete_nth function. |
| |
| * Makefile.am (bin_PROGRAMS): Add msgcomm. (l): New variable. |
| Set to `l' is using libtool. (LDADD): Change for the needs of |
| libtool. (msgcomm_SOURCES): New variable. |
| |
| * msgcomm.c: New file. |
| |
| Wed Dec 4 01:58:10 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * Makefile.am (LDADD): Change for use of libtool. |
| |
| Tue Dec 3 18:08:46 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * xget-lex.c (phase7_getc): Return \n when newline is seen, not |
| P7_NEWLINE. |
| |
| * xgettext.c (main): Implement --foreign-user flag. |
| |
| * msgcmp.c (main): Change --version output to what is required by |
| GNU standards. (usage): Correct bug report address. |
| * msgfmt.c: Likewise. |
| * msgunfmt.c: Likewise. |
| * msgmerge.c: Likewise. |
| * xgettext.c: Likewise. |
| * gettextp.c: Likewise. |
| |
| Sat Sep 14 04:28:09 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgunfmt.c (usage): Put bug report address in separate string. |
| * msgmerge.c (usage): Likewise. |
| * msgcmp.c (usage): Likewise. |
| * xgettext.c (usage): Likewise. |
| * msgfmt.c (usage): Likewise. |
| * gettextp.c (usage): Likewise. |
| |
| Thu Sep 12 21:40:48 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> |
| |
| * msgfmt.c (check_pair): Fix error messages. |
| |
| Sat Aug 31 14:05:29 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgunfmt.c (usage): Add hint about where to report bugs to. |
| * msgmerge.c (usage): Likewise. |
| * msgcmp.c (usage): Likewise. |
| * xgettext.c (usage): Likewise. |
| * msgfmt.c (usage): Likewise. |
| * gettextp.c (usage): Likewise. |
| |
| Sat Aug 31 04:49:38 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * gettextp.c: Don't include <libintl.h> since this can generate |
| conflicts. |
| |
| Mon Jul 15 02:21:25 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgfmt.c: Major change: msgfmt now does not write fuzzy messages |
| out by default. The option -f/--use-fuzzy must be used to |
| explicitely tell to do it. |
| |
| Sat Jul 13 20:23:34 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * xget-lex.c (phase6_get): Reset selected comments on every |
| preprocessor directive. |
| |
| Fri Jul 12 12:38:49 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * xgettext.c (main): Remove `v' from short option list. |
| |
| Sat Jul 6 11:22:47 1996 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * message.c (message_merge): Add some casts to (char *) in alloca |
| calls. Make KNOWN_FIELDS array static. |
| |
| Sat Jul 6 11:15:43 1996 Jim Meyering <meyering@na-net.ornl.gov> |
| |
| * msgfmt.c (check_pair): Correct English in Message. |
| |
| Fri Jul 5 17:27:11 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * message.c (message_merge): Terminate string for UNKNOWN fields |
| in header entry. |
| |
| * message.c (message_merge): Don't print POT-Revision-Date twice. |
| |
| * msgfmt.c: Implement --statistics. |
| Suggested by Santiago Vila Doncel. |
| |
| * msgfmt.c: and change message checking so that tests for leading |
| and trailing \n are always performed. |
| Suggested by François Pinard. |
| |
| Wed Jun 19 02:42:52 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * message.c (message_merge): Implement sorting of header entry |
| lines. |
| |
| Sat Jun 15 19:46:50 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgmerge.c (usage): Correct -w option in help string (was -W). |
| |
| Tue Jun 11 15:28:44 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * xget-lex.c, xget-lex.h (xgettext_lex_comment): Change parameter |
| type to size_t. |
| |
| * po-lex.h, po-lex.c (gram_max_allowed_errors): Change type to |
| size_t. |
| |
| * message.c, message.h (message_page_width_set): Change parameter |
| type to size_t. |
| |
| * Makefile.am (AUTOMAKE_OPTIONS): Add variable. Must be defined |
| in all subdirs. |
| |
| Mon Jun 10 02:53:52 1996 Marcus Daniels <marcus@sysc.pdx.edu> |
| |
| * dir-list.c: Include system.h in order to get size_t and NULL. |
| |
| Thu Jun 6 01:59:31 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * str-list.h: Include <stddef.h> to get size_t defined. |
| Reported by Philippe Defert. |
| |
| * Makefile.am (LDADD): Remove `@INTLLIBS@ ../lib/libnlsut.a |
| @LIBS@'. This is not necessary anymore. |
| |
| Wed Jun 5 00:00:08 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * xgettext.c, msgunfmt.c (usage): Correct --page-width to --width |
| in usage string. |
| |
| * open-po.c (open_po_file): Implement search path for PO files. |
| |
| * xget-lex.c (xgettext_lex_open): Implement search path for PO |
| files. Patch by Peter Miller. |
| |
| * message.h (struct message_ty): Add do_wrap member. |
| Add prototypes for parse_c_width_description_string and |
| message_page_width_set. |
| |
| * xgettext.c: Implement --width option to specify width for which |
| line wrapping is done. Change --directory option implement search |
| path instead of single directory. Patch by Peter Miller. |
| |
| * message.c (wrap): Implement no-wrap special comment. If given |
| no wrapping is performed. |
| |
| * gettextp.c, msgcmp.c, msgfmt.c, msgmerge.c, msgunfmt.c, |
| xgettext.c: Add `no-wrap' comments at usage message strings. |
| |
| * msgcmp.c: Implement --directory to specify search path for .po |
| files. Patch by Peter Miller. |
| |
| Tue Jun 4 23:57:59 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * msgfmt.c: Implement --width option to specify width for which |
| line wrapping is done. Patch by Peter Miller. |
| |
| * msgmerge.c: Implement --width option to specify width for which |
| line wrapping is done. Implement --directory to specify search |
| path for .po files. Patch by Peter Miller. |
| |
| * msgunfmt.c: Implement --width option to specify width for which |
| line wrapping is done. Patch by Peter Miller. |
| |
| Tue Jun 4 00:12:25 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * po-hash.y: Add new clause where in GNU style format the name is |
| `file'. |
| |
| * Makefile.am (noinst_HEADERS): Add dir-list.h. |
| (msgcmp_SOURCES, msgfmt_SOURCES, msgmerge_SOURCES, xgettext_SOURCES): |
| Add dir-list.c |
| |
| Mon Jun 3 00:43:07 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * message.h: Add new parameter for message_list_print. |
| |
| * msgmerge.c, msgunfmt.c (main): Add new parameter to |
| message_list_print. Set to 0 because we don't need to know about |
| the reasoning. |
| |
| * xgettext.c: Implement new option --debug which determines |
| whether a difference is made between c-format and |
| possible-c-format. Default is to print c-format for both cases. |
| |
| * message.c (make_c_format_description_string): Take additional |
| parameter DEBUG. If nonzero, distinguish between c-format and |
| possible-c-format. |
| |
| * message.c (message_print_obsolete): Copy precious translator |
| comment to output file. Reported by Santiago Vila Doncel. |
| |
| * dir-list.c: Include file now is called dir-list.h, not |
| dir_list.h. |
| |
| * message.c: Include <limits.h>. |
| |
| * Makefile.am (EXTRA_DIST): Add variable to distribute po-gram.y |
| and po-hash.y. |
| |
| * Makefile.am (msgfmt_SOURCES): Fix typo: msgfmt.o -> msgfmt.c. |
| |
| Sat Jun 1 04:33:48 1996 Ulrich Drepper <drepper@cygnus.com> |
| |
| * Makefile.in: Remove support for tupdate. msgmerge is stable |
| now. |
| |
| Wed Apr 10 01:20:49 1996 Ulrich Drepper <drepper@myware> |
| |
| * message.c (message_print_obsolete): Don't print |
| c-format/no-c-format flags for obsolete entries. |
| |
| * xgettext.c (construct_header): Change DIST to ZONE in header |
| entry template. |
| |
| * message.c (message_merge): Insert POT-Creation-Date field before |
| PO-Revision-Date. |
| |
| Tue Apr 9 17:13:34 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (construct_header): Move POT-Creation-Date line |
| before PO-Revision-Date line. |
| |
| Fri Apr 5 12:07:19 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgmerge.c: Implement --quiet option to prevent dots printed as |
| progress report. |
| (merge): Don't print dots if `quiet'. |
| |
| * msgmerge.c (merge): Nicer statistics message. |
| |
| * message.c (message_merge): Update POT-Creation-Date field in |
| header entry from contents in reference file. |
| |
| * msgfmt.c (format_directive_message): Better test for unchanged |
| fields in header entry. |
| |
| * xgettext.c (difftm): Is back. |
| (construct_header): Print distance to GMT in POT file time stamp. |
| |
| * xgettext.c (construct_header): Print leading comment and fuzzy |
| flag. |
| |
| * message.c (message_print): Allow translator comment to fill more |
| than one line. |
| |
| * xgettext.c (construct_header): Introduce POT-Creation-Date |
| field. |
| |
| Fri Apr 5 03:05:07 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgmerge.c (merge): Rename empty in missing. There might be |
| more empty messages which are not missed. |
| |
| * msgmerge.c (merge): Terminate `.' line if no verbose output is |
| selected. |
| |
| * msgmerge.c (main): Implement -v option to increase verbosity |
| level. |
| (merge): Print `.' to signal ongoing work. |
| Unless verbosity level > 1 don't print information about fuzzy and |
| missing matches. Instead print statistics at the end. |
| Suggested by François Pinard and Santiago Vila Doncel. |
| |
| Thu Apr 4 11:59:20 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (difftm): Remove unused function. |
| (construct_header): Don't fill Last-Translator field with information |
| about curent user but instead constant text mentioning xgettext. |
| |
| * message.c (message_list_search_fuzzy): Initialize mp before |
| using it. |
| |
| * message.c (message_print): Normalize printed messages even more. |
| Don't print fuzzy flag is msgstr is empty. |
| |
| * message.c (message_list_search_fuzzy): Don't try to match |
| against msgid if none if the msgstr of this message in non-empty. |
| |
| Thu Apr 4 01:57:37 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (format_directive_message): When testing header entry |
| also check whether they still contain the initial values. |
| Suggested by François Pinard. |
| |
| Tue Apr 2 16:19:42 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (main): Add "warning" to message about unknown input |
| file type. |
| |
| * Makefile.in (all-gettext): New goal. Same as all. |
| |
| * xgettext.c (usage): Rearange help strings. One of them was too |
| long for some dumb catgets programs. Reported by Marcus Daniels. |
| |
| * msgfmt.c (format_directive_message): Check for standard header |
| entry fields. |
| |
| * xgettext.c (construct_header): MIME-VERSION should be written |
| MIME-Version. |
| |
| * msgmerge.c (main): Don't recognize -f option anymore. This is |
| the default now. |
| |
| * msgfmt.c (format_debrief): New function. Warn if no header |
| entry is found. |
| (format_directive_message): Remember if header entry is found. |
| |
| Tue Apr 2 11:12:15 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (format_constructor): New function. Initialize |
| is_c_format field. |
| (format_directive_message): Clear is_c_format field for next message |
| at the end. |
| |
| * xgettext.c, po-lex.h, po-lex.c, po-gram.y, msgmerge.c, msgfmt.c, |
| msgcmp.c: Use gram_error_at_line instead of gram_error_with_loc |
| and error_at_line instead of error_with_loc. Roland does not like |
| my English. |
| |
| Tue Apr 2 03:27:34 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgunfmt.c (main): Removed -S option. People should think twice |
| before using this and so are forced to use the long version. |
| |
| Tue Apr 2 03:25:56 1996 François Pinard <pinard@iro.umontreal.ca> |
| |
| * msgunfmt.c (usage): Remove Tab character from message. |
| |
| Tue Apr 2 03:15:16 1996 Marcus Daniels <marcus@sysc.pdx.edu> |
| |
| * message.c (significant_c_format_p): If is_c_format is `no' this |
| is significant. |
| |
| Tue Apr 2 03:12:24 1996 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * po.c (po_comment_filepos): Make definition static as declaration |
| was before. |
| |
| * msgunfmt.c (usage): Add missing \n to help string. |
| |
| Mon Apr 1 02:37:45 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (main): When recognizing file type, default to C |
| instead of regarding it as an error. Suggested by Marcus Daniels. |
| |
| * po.c (po_callback_comment): For now recognize #! also as special |
| comment. |
| |
| * msgmerge.c (merge): Remove --force option. We now always write |
| the result. It makes no sense to reject the output because some |
| messages are not matching. |
| |
| * po-lex.c (po-gram_error, gram_error_with_loc): Use |
| error_message_count instead of gram_nerrors. |
| (gram_nerrors): Remove definition. |
| |
| * po-lex.h (po-gram_error, gram_error_with_loc): Use |
| error_message_count instead of gram_nerrors. |
| |
| * xgettext.c: Remove verbose option and variable. |
| (test_whether_c_format): Don't return `possible' is string |
| contains no format specifier. |
| |
| Sun Mar 31 23:23:40 1996 Ulrich Drepper <drepper@myware> |
| |
| * xget-lex.c (xgettext_lex): Fix typo. Reported by François |
| Pinard. |
| |
| Thu Mar 28 19:01:22 1996 Ulrich Drepper <drepper@myware> |
| |
| * po.c (po_callback_comment): Correct handling of special |
| comments. Give whole comment to callback function instead of |
| tokenized form. |
| |
| Thu Mar 28 18:37:49 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (remember_a_message): Always look through comments |
| because we have to look for c-format comments. |
| |
| * message.h, msgmerge.c, xgettext.c, message.c, msgfmt.c: |
| Implement more detailed C format string handling. Basically coded |
| by Marcus Daniels. |
| |
| Thu Mar 28 16:52:56 1996 Marcus Daniels <marcus@sysc.pdx.edu> |
| |
| * Makefile.in (MSGFMT_OBJ): Add message.o. |
| |
| Wed Mar 27 03:16:01 1996 Ulrich Drepper <drepper@myware> |
| |
| * xget-lex.c (xgettext_lex): Correct implementation of comments |
| grouped with messages. |
| |
| Tue Mar 26 21:23:54 1996 Ulrich Drepper <drepper@myware> |
| |
| * po.c (po_callback_comment): Remove unused variable string. |
| Include <ctype.h> because isspace is used. |
| |
| * message.h (message_list_print): Undo change of Mon Mar 25 |
| 03:34:44 1996. Don't print trailing comment. Remove additional |
| argument. |
| |
| * message.c (message_list_print): Undo change of Mon Mar 25 |
| 03:34:44 1996. Don't print trailing comment. We now have a |
| correct implementation of obsolete entry handling. |
| * msgmerge.c: Ditto. |
| |
| * po-lex.h: Add prototype for po_lex_pass_obsolete_entries. |
| |
| * po-lex.c (po_gram_lex): Implement handling of comments for |
| obsolete entries (#~). |
| |
| * msgunfmt.c, xgettext.c (main): Undo change of Mon Mar 25 |
| 03:34:44 1996. Remove added argument to message_list_print again. |
| |
| * po-lex.c (po_gram_lex): Small optimization in string collection. |
| |
| * message.c (message_print_obsolete): Obsolete messages are now |
| preceded by #~ on each line. |
| |
| * xgettext.c (remember_a_message): Fix bug with dereferencing |
| dangling pointer. This caused xgettext test 1 to fail. |
| |
| * xgettext.c (construct_header): Update format for file header. |
| |
| * xgettext.c (extract_directive_message): Don't report error when |
| message variant exists but the value is the same. Reported by |
| Roland McGrath. |
| |
| * message.c (wrap): Only write characters in escape notation if |
| explicitely wanted or if it is one of the well known escapes like |
| \n. |
| |
| * msgunfmt.c (main): Adopt interface to GNU coding standard. All |
| given files on command line are input files. Output by default is |
| written to standard output and can be redirected using -o. |
| |
| Mon Mar 25 04:25:42 1996 Ulrich Drepper <drepper@myware> |
| |
| * message.c, message.h (message_list_print): Parameter filename is |
| const. |
| |
| * message.c (wrap): Change line break behaviour a bit. While it |
| is reasonable to break long line containing #: comments |
| immediately when reaching the the limit, this could lead to unnice |
| results for the strings in msgid and msgstr. The programmer |
| usually knows why the lines are that long. |
| |
| So we break for now after reaching 2 * PAGE_WIDTH instead of |
| PAGE_WIDTH. |
| |
| * message.c (message_list_print): Print blank line before trailing |
| comments. |
| |
| * message.c (message_print_obsolete): Don't print anything for |
| obsolete entries with empty msgstr. |
| |
| Mon Mar 25 03:34:44 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgunfmt.c (main): Make program by default read from stdin and |
| by default write to stdout in the appropriate argument is not |
| given. Suggested by François Pinard. |
| |
| * msgfmt.c (format_directive_domain): Only check for correct |
| format string elements is special comment contains c-format. |
| |
| * msgfmt.c: Use sizeof instead of strlen to determine length of |
| constant string. |
| |
| * xgettext.c: Implement generation of c-format special comments. |
| |
| * msgunfmt.c (main): Call message_list_print with additional |
| argument set to NULL. |
| |
| * xgettext.c (main): Call message_list_print with additional |
| argument set to NULL; |
| (extract_class_ty): We don't have field comment_special anymore, but |
| instead flags fuzzy and c_format. |
| (extract_constructor): Reset fields fuzzy and c_format. |
| (extract_directive_message): Set flags according to special comments, |
| not string list. |
| (extract_comment_special): Set flags according to special comment. |
| |
| * message.h (message_ty): We don't have field comment_special |
| anymore. Instead flags fuzzy and c_format. |
| (message_comment_special_append): Remove prototype. |
| (message_list_print): Add new argument to prototype. |
| |
| * message.c (message_alloc): We don't have the comment_special, |
| but fuzzy and c_format. |
| (message_comment_special_append): Remove function. We now have flags. |
| (message_copy, message_merge): Copy fuzzy and c_format flag |
| appropriately. |
| (message_print, message_print_obsolete): Print special comment using |
| flags, not string list. |
| (message_list_print): Additional argument with trailing comments. |
| Printed at the end if not NULL. |
| |
| * msgmerge.c (merge_class_ty): New fields fuzzy and c_format for |
| flags; |
| (trailing_comments): New global variable for list of trailing |
| comments in definition file. |
| (grammar): Takes an additional argument which if NULL gets the list of |
| trailing comments assigned to. |
| (main): Call message_list_print with additional argument of trailing |
| comments. |
| (merge_comment_special): Recognize fuzzy and c-format special comment. |
| |
| Sun Mar 24 17:35:26 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (usage): Option --output-suffix does not exist |
| anymore. |
| |
| * msgmerge.c (usage): --strict does not have short form -S. |
| |
| * message.h (message_ty): New field `obsolete'. |
| |
| * msgmerge.c (merge): Change behaviour not not matched entries. |
| Instead of giving a message write them out at the end of the |
| regular output and precede each line with `# '. |
| |
| * message.c (message_list_print): Handle obsolete entries |
| separately by printing them at the end and preceded by `# '. |
| (message_print_obsolete): New function to print obsolete entries. |
| |
| * Makefile.in ($(PROGRAMS)): Add generated libraries as |
| dependencies for programs. |
| |
| * Makefile.in (PROGRAMS): Remove msgjoin. |
| |
| Sun Mar 24 01:03:32 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (extract_comment_filepos): Only add line comment if |
| requested by -n option. |
| |
| * po.c (po_callback_comment): Short by one bug in special comment |
| entry copying. |
| |
| * po.c (po_callback_comment): Handle special comments. Separate |
| them into a list of comma separate entries. |
| |
| * message.c (message_print): Format of lines containing fuzzy |
| comments et.al. is now `#, xxx'. |
| |
| * Makefile.in: msgjoin program is not anymore generated. |
| |
| * xgettext.c: First step to implementing general input file |
| handling. The program now recognizes the file type by the file |
| name extension and uses the appropriate function. For now two |
| file types are recognized: C/C++ and PO. Especially handling PO |
| files make the msgjoin program obsolete. |
| |
| Sat Mar 23 01:50:00 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (verbose): Rename to verbose_level. |
| (main): Increment verbose_level each time -v option is given. |
| (format_directive_domain): Print some of the diagnostic messages only |
| if verbosity level is > 1. Suggested by François Pinard for a |
| better interface to PO mode. |
| |
| * xgettext.c (scan_c_file): Extract all string if `extract-all' |
| option is given. Reported by Roland McGrath. |
| |
| Thu Mar 14 14:55:20 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (format_comment_special): Be prepared that special |
| comment contains more than one entry, separated by commas. |
| |
| * message.c (message_print): Special comments are now written in a |
| line, separated by commas. |
| |
| * msgmerge.c (merge): Replace `INEXACT' with `fuzzy'. |
| |
| Thu Mar 14 11:50:48 1996 Marcus Daniels <marcus@sysc.pdx.edu> |
| |
| * po-hash.h (po_hash): Change __P to PARAMS in prototype. |
| |
| Fri Mar 1 13:35:01 1996 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (main): Set error_one_per_line to 1 to prevent more |
| than one error message per line. Suggested by François Pinard. |
| |
| * po-lex.h (po_gram_error): Don't write source file name in fatal |
| message. |
| (po_gram_error_with_loc): Ditto. |
| |
| * po-lex.c (lex_close): Don't write source file name in fatal |
| message. |
| (po_gram_error): Ditto. |
| (po_gram_error_with_loc): Ditto. |
| |
| Fri Mar 1 00:30:49 1996 Ulrich Drepper <drepper@myware> |
| |
| * po-lex.h: Use PARAMS instead of __P in header declarations. |
| |
| * msgcmp.c (compare_methods): Set new field comment_special to |
| NULL. |
| |
| * msgjoin.c (join_methods): Set new field comment_special to NULL. |
| |
| * xgettext.c (exclude_methods): Set new field comment_special to |
| NULL. |
| |
| * po.h (struct po_method_ty): New field comment_special. |
| (po_directive_domain, po_directive_message, po_parse_brief, |
| po_parse_debrief, po_comment, po_comment_dot, po_comment_filepos): |
| Remove prototypes. Now are local functions. |
| |
| * po.c (po_parse_brief, po_parse_debrief, po_directive_domain, |
| po_directive_message, po_comment, po_comment_dot, |
| po_comment_filepos): Declare functions as local and add |
| prototypes. |
| (po_comment_special): New function. |
| (po_callback_comment): For special comments call po_comment_special. |
| |
| * msgmerge.c (usage): Add --force in help message. |
| (merge_methods): Set special comment callback to NULL. |
| |
| * po-lex.c (lex_open): Don't set pass_comments to 0. This has to |
| be done in upper layer functions. |
| (po_gram_lex): Also pass #! comments up. |
| |
| * msgfmt.c (main): Make lexer pass comments up. |
| (format_comment_special): New function. Warns about `#! INEXACT' |
| comments. |
| (format_methods): Add callback for special comment. |
| |
| Wed Feb 14 01:56:14 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (main): Remove option --output-suffix. When default |
| domain name is "-" write to stdout. |
| |
| Mon Feb 12 02:20:09 1996 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (main): Implement --output-suffix parameter to |
| determine alternative form of suffix for output file. |
| |
| * xgettext.c, msgjoin.c, msgmerge.c, msgunfmt.c (main): Add |
| additional argument to message_list_print call: control output in |
| case of empty PO file. |
| * message.c (message_list_print): Implement FORCE parameter. |
| * message.h: Change prototype. |
| |
| Sun Jan 21 17:24:56 1996 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (install-exec): Include empty else case for case |
| when Perl is not available. Reported by John David Anglin. |
| |
| Sat Dec 23 12:41:43 1995 Jun Young <bangjy@nownuri.nowcom.co.kr> |
| |
| * gettextp.c (usage): Short option for version info is -V. |
| |
| Tue Dec 19 22:10:12 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (Makefile, tupdate): Explicitly use $(SHELL) for |
| running shell scripts. |
| |
| Sat Dec 9 17:06:11 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c, xget-lex.h, xget-lex.c, str-list.h, po.h, po.c, |
| po-lex.c, po-hash.y, po-gram.h, open-po.c, msgunfmt.c, msgmerge.c, |
| msgjoin.c, msgfmt.c, msgcmp.c, message.h, message.c, gettextp.c: |
| Use PARAMS instead of __P. Suggested by Roland McGrath. |
| |
| Fri Dec 8 01:38:40 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (PROGRAMS): Add definitions for new msgjoin program. |
| |
| * msgjoin.c: Initial revision. |
| |
| Wed Dec 6 18:43:14 1995 Ulrich Drepper <drepper@myware> |
| |
| * open-po.c (open_po_file): Recognize /dev/stdin as name for |
| stdin. Recognize .pot as valid extension. |
| |
| Wed Dec 6 18:05:11 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgmerge.c (main): Sort options in getopt loop. |
| |
| Mon Dec 4 15:37:22 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgmerge.c: (main): Remove unused variable `exit_status'. |
| |
| Sun Dec 3 02:51:31 1995 Ulrich Drepper <drepper@myware> |
| |
| * xget-lex.h: [xgettext_token_type_ty]: We now have two keyword |
| types and also the comma is important. |
| |
| * xgettext.c (remember_a_message): |
| Correct handling of -c option. This is not a |
| string to prepend to output. Instead it selects single strings to |
| include (instead of all). Reported by Marcus Daniels. |
| (scan_c_file): Extend state machine. We have to retrieve the second |
| argument for the keywords `dgettext' and `dcgetetxt`. |
| |
| * xget-lex.c (phase5_get): Recognize ','. |
| (xgettext_lex): Pass ',' on caller. |
| Return different value for keywords `dgetetxt' and `dcgettext`. |
| |
| * xget-lex.c (xgettext_lex): `gettext_noop' is an default keyword. |
| |
| * msgunfmt.c (usage): |
| Message should not contain TABs. Reported by François Pinard. |
| |
| * msgunfmt.c (usage): |
| Correct typo: Uniforun -> Uniforum. Reported by François Pinard. |
| |
| Mon Nov 20 21:12:52 1995 Ulrich Drepper <drepper@myware> |
| |
| * po-lex.c, message.c: Some more pretty printing. |
| |
| * message.c (wrap): Don't support '\a' and '\v'. |
| |
| * xget-lex.c (phase7_getc): Don't support '\v'. |
| |
| * po-lex.c (control_sequence): Don't support '\v'. |
| |
| * gettextp.c (expand_escape): Don't support \a and \v. |
| |
| * msgcmp.c (compare): Really define static. |
| |
| Thu Nov 16 22:42:33 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgmerge.c (merge): Remove additional parameter in in prototype. |
| |
| * xgettext.c: Reomved unused type definition. Patch by Peter Miller. |
| |
| * xget-lex.c: Correct some comments and better implementation of |
| -k option. Patch by Peter Miller. |
| |
| * po.h: Fix typos. By Peter Miller. |
| |
| * po-lex.c (po_gram_lex): Prevent accumulation of #! comments. |
| |
| * po-gram.y (comments): Remove unused rule. |
| |
| * msgmerge.c: Implement new options sort-by-file and sort-output. |
| Patches by Peter Miller. |
| |
| * msgcmp.c (domain): Remove unused global variable. |
| (domain_directive): Remove unused function. |
| |
| * message.h: Fix comment for MESSAGE_DOMAIN_DEFAULT definition. |
| |
| * message.c (message_print): Correct typo. |
| Clarify comments about ANSI escape sequences. |
| Patches by Peter Miller. |
| |
| * Makefile.in (DISTFILES): Remove $(COMSRCS). |
| (MSGFMT_OBJ): Correct indentation. Patches by Peter Miller. |
| |
| Sun Nov 12 12:52:29 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (line, string, comment): Remove unused global variables. |
| (read_name_from_file): Remove unused variable `cp'. |
| |
| * msgmerge.c (merge): Add missing return statement. |
| |
| * msgfmt.c (check_pair): Correctly pair comparisons. |
| |
| * msgcmp.c (domain_list, mlp): Remove unused global variables. |
| |
| Sat Nov 11 21:39:17 1995 Ulrich Drepper <drepper@myware> |
| |
| * message.c (message_list_print): |
| Prevent output if we have no (real) entry. |
| |
| * xgettext.c (remember_a_message): Implement exclude file handling. |
| |
| Sat Nov 11 17:38:05 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgunfmt.c: Fix message. |
| |
| * xgettext.c: Use string handling from str-list and .po file |
| handling use xget-lex et.al. |
| |
| * xget-lex.h, xget-lex.c, str-list.h, str-list.c, po.h: |
| Initial revision. |
| |
| * po-lex.h: Allow variable upper limit of errors. |
| New prototypes. |
| |
| * po-lex.c: Allow variable upper limit of errors. |
| Make comment's text available to the caller. |
| |
| * po.c, po-hash.y, po-hash.h: Initial revision. |
| |
| * po-gram.y: Add handling of comments. |
| |
| * po-gram.h: Remove all but one declaration. |
| |
| * msgunfmt.c, msgmerge.c: Initial revision. |
| |
| * msgfmt.c: Adopt for new interface to parser. |
| |
| * msgcmp.c: Move lot's of general code to other files. |
| |
| * message.h, message.c: |
| Extended functionality for Peter Miller's pseudo-OO programming. |
| |
| * Makefile.in: Rewrite after adding rules for new programs. |
| |
| Fri Nov 10 10:01:37 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (PROGRAMS): Add new programs msgmerge and msgunfmt. |
| |
| Thu Nov 9 01:29:46 1995 Ulrich Drepper <drepper@myware> |
| |
| * gettextp.c (usage): Split message in two parts. |
| |
| * xgettext.c (usage): Split message in three parts. |
| |
| * xgettext.c (main): |
| Print warning if --files-from option and file names on command |
| line are given. |
| |
| * xgettext.c (long_options): |
| Mixed up `default-domain' and `directory' values. |
| |
| Wed Nov 8 23:31:34 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c: Implement -D and -f option. |
| |
| Tue Nov 7 13:44:44 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (LIBS): One @LIBS@ must be @INTLLIBS@. |
| |
| * Makefile.in (LIBS): Correct definition. We must be prepared to |
| use two different libintl.a libraries. |
| (po-gram.gen.c): Don't use $< in non-implicit rule. |
| |
| * Makefile.in (install-exec): Use `test -n' instead of |
| `test XXX != ""'. Proposed by François Pinard. |
| |
| Sun Nov 5 23:59:03 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (INSTALL_PROGRAM): Do not specify mode. |
| |
| Sun Nov 5 21:13:57 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c, msgfmt.c: |
| Comments describing what has to be done should start with FIXME. |
| |
| Sun Nov 5 19:39:56 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (dist-gettext): Make synonym for dist. |
| |
| Sun Nov 5 18:11:15 1995 Ulrich Drepper <drepper@myware> |
| |
| * po-lex.h (gram_error, gram_error_with_loc): |
| Don't define macros when !__STDC__ |
| even when using gcc. |
| |
| * po-lex.c (gram_error, gram_error_with_loc): |
| Compile if !__STDC__ even if using gcc. |
| |
| * Makefile.in (po-gram.gen.c po-gram.gen.h): |
| Remove file prior of generation. |
| |
| Sun Nov 5 11:39:21 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (dist): Suppress error message when ln failed. |
| Get files from $(srcdir) explicitly. |
| |
| * xgettext.c (process_c_source): |
| Make gettext_noop the forth builtin marker. |
| |
| Fri Nov 3 00:57:52 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (main): Don't free fname when no suffix was added. |
| |
| Thu Nov 2 22:55:44 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (dist): Also remove msgcmp. |
| |
| Tue Oct 31 22:27:52 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c: New option --strict: Only if this is given the .mo |
| file ending is forced. |
| |
| * msgfmt.c (message_directive): |
| Call error_with_loc with correct parameters. |
| |
| * msgfmt.c (message_directive): |
| Ignores empty message does not count as fatal error. |
| |
| * Makefile.in (po-gram.gen.c): |
| Add g suffix to make multiple substitution in one |
| line possible. |
| |
| Mon Oct 30 22:35:41 1995 Ulrich Drepper <drepper@myware> |
| |
| * po-gram.h: |
| Don't give defines for translation of yy* symbols. This is not enough |
| to be able to have more than one parser. See src/Makefile for the way |
| we chose. |
| |
| * Makefile.in (po-gram.gen.c): |
| Rewrite generated source while copying. This is the |
| only portable way to get more than one parser in the same program. |
| Patch by Peter Miller. |
| |
| Sun Oct 29 10:49:59 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (INSTALL_SCRIPT): New variable. |
| (install-exec): Install tupdate using INSTALL_SCRIPT to prevent error |
| when using strip flag. |
| |
| Sat Oct 28 14:39:33 1995 Ulrich Drepper <drepper@myware> |
| |
| * po-gram.h: Include <sys/types.h>. |
| |
| * xgettext.c (main): |
| Honour -n option even if --omit-header is given. By Peter Miller. |
| |
| * msgcmp.c (check_domain_coverage): |
| No double space in message. By Peter Miller. |
| |
| * msgcmp.c (grammar): |
| Close input file after coverage check. Patch by Peter Miller. |
| |
| Wed Sep 27 20:27:26 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgcmp.c: |
| Don't try to include <string.h>. This is done in "system.h". |
| |
| * po-lex.c (gram_error, gram_error_with_loc): |
| Add argument definition for K&R style. |
| (gram_error, gram_error_with_loc): We increase gram_nerrors, |
| not nerrors. Reported by Francesco Potorti`. |
| |
| Tue Sep 26 10:03:29 1995 Ulrich Drepper <drepper@myware> |
| |
| * po-gram.h (yyparse): Add redefinition to gram_parse. |
| |
| * Makefile.in (YFLAGS): |
| Don't use -p option. Stupid old yaccs do not know it. |
| |
| * po-lex.c: Include po-gram.h to get redefinitions of yy* symbols. |
| |
| * po-gram.h (yylex, yylval, yyerror): |
| Redefine these symbols to gram_* because the |
| yacc is now called without -p option. |
| |
| * Makefile.in (LIBS): |
| Undid last change. On some systems libintl.a is not |
| completely self-contained. alloca() is miisong e.g. on HP-UX. |
| |
| Mon Sep 25 22:35:55 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (add_mo_suffix): Fix typo. |
| |
| * po-lex.h: Include <sys/types.h>. |
| (lex_open): Argument is now `const char *'. |
| |
| * msgfmt.c (add_mo_suffix): |
| Allow .gmo suffix. Great idea by Marcus Daniels. |
| |
| Sat Sep 23 08:20:54 1995 Ulrich Drepper <drepper@myware> |
| |
| * po-gram.y, po-lex.c: Include error.h. |
| |
| * open-po.c (open_po_file): |
| Remove unused variables `path_dir' and `open_po_file'. |
| |
| Thu Sep 21 15:30:36 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (LIBS): |
| using libnlsut.a twice is not necessary anymore. libintl.a is |
| selfcontained. |
| |
| * gettextp.c (main): |
| Use dcgettext__ and bindtextdomain__ instead of __dcgettext |
| and __bindtextdomain. |
| |
| * msgfmt.c, xgettext.c (exit_status): |
| New variables. Contains exit status for the case the program |
| ends normally. Changed when non-fatal error messages are given. |
| |
| Wed Sep 20 09:16:57 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (xgettext): No also link po-gram.gen.o and po-lex.o. |
| |
| * po-lex.c: Pretty print comments. |
| Do some CSE in computation of hex value. |
| |
| * xgettext.c (read_po_file): Now use the generated scanner. |
| (domain_directive, message_directive): New functions needed for |
| scanner. |
| (add_id_str): Correct test for exclude files. The messages in the |
| exclude table are in raw format, not C format. |
| (write_out_domain): Check for zero messages and don't write anything in |
| this case. |
| |
| * po-lex.c (lex_open): Argument NAME is now const. |
| (gram_error): Move VARARGS1 comment to right place. |
| (control_sequence): Pretty print some comments. |
| |
| Mon Sep 18 21:23:55 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (add_mo_suffix): Really check for not .mo suffix. |
| |
| * xgettext.c (write_out_domain): |
| Write file names in #: lines to file, not stdout. |
| |
| * po-gram.y (grammar): |
| Remove function. This allows sharing this file in different |
| programs. |
| |
| * domain.h (msg_domain): Member DOMAIN_NAME is now const. |
| |
| * Makefile.in (PROGRAMS): Add msgcmp. |
| (HEADERS): Add message.h. |
| (SOURCES): Add message.c and msgcmp.c. |
| (OBJECTS): Add message.o and msgcmp.o. |
| (msgcmp): Rule to construct program. |
| |
| * message.h, message.c: Initial revision |
| |
| * msgfmt.c (grammar): Close comment so that function is seen. |
| (message_directive): MSGID and MSGSTR are not const. |
| |
| * msgcmp.c: Initial revision |
| |
| * po-gram.h (message_directive): |
| MSGID and MSGSTR argument are not const. |
| |
| * po-gram.h (grammar): Remove prototype. Is now locally defined. |
| |
| * po-lex.h (gram_error, gram_error_with_loc): |
| Protect the instructions by do while (0). |
| |
| * msgfmt.c (grammar): |
| Define function here. This allows sharing the grammar file |
| with the msgcmp program. |
| |
| * msgfmt.c (domain_directive): Free memory of NAME if not needed. |
| (new_domain): Do not duplicate filename, use it as it is. |
| |
| * msgfmt.c (message_directive): |
| Free parameter string memory here if necessary. |
| Was done in po-gram.y before. |
| |
| * po-gram.h: Remove comment after closing #endif. |
| |
| * po-gram.h (grammar): Name parameter in prototype. |
| |
| Sun Sep 17 23:29:30 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (read_po_file): We don't have a search path anymore, |
| so third argument to open_po_file is not needed anymore. Reduce |
| argument list by this parameter, too. |
| |
| * po-lex.c (lex_open): |
| We don't have a search path anymore, so third argument to |
| ope_po_file is not needed anymore. |
| |
| * open-po.c (open_po_file): Remove unused `use_path' parameter. |
| |
| * Makefile.in (HEADERS): Add po-gram.h and po-lex.h. |
| |
| * po-gram.h, po-lex.h: Initial revision |
| |
| * Makefile.in (YACC, YFLAGS): New program used for .po file grammar. |
| (SOURCES): Add po-gram.y and po-lex.c. |
| (GENHEADERS, GENSOURCES): New variables for generated headers |
| and sources. |
| (OBJECTS): Add po-gram.gen.o and po-lex.o. |
| Add rules for new files and add to dependency list for msgfmt. |
| |
| * po-lex.c, po-gram.y: Initial revision |
| |
| * xgettext.c: Remove input path handling. |
| Adapt for new hashing functions return values. |
| |
| * msgfmt.c: |
| Rewrite .po file handling. Use Peter Millers .po file Yacc grammar. |
| |
| * open-po.c: Remove handling of input path. |
| |
| * xgettext.c (write_out_domain): |
| Split #: lines each 80 columns. Based on a patch by |
| Peter Miller. |
| |
| * Makefile.in: hash.[ch] moved from src/ to lib/ subdirectory. |
| |
| Wed Aug 23 21:13:11 1995 Ulrich Drepper <drepper@myware> |
| |
| * tupdate.in: Don't print comment in front of obsolete entries. |
| |
| Tue Aug 22 22:16:31 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (AR, RANLIB): Remove definition. Not needed here. |
| Reported by François Pinard. |
| |
| Sat Aug 19 17:38:22 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (install-src): |
| Make behave like install. I.e. really install the catalogs. |
| |
| Sat Aug 19 00:57:07 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (SCRIPTS): |
| New variable. Contains names of scipts to be generated and |
| installed. For now it is tupdate. |
| (PROGRAMS): Remove tupdate. |
| (all): Also depend on $(SCRIPTS). |
| |
| Fri Aug 18 13:02:04 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (PROGRAMS): Add tupdate. |
| (tupdate): New rule. Rebuild tupdate if tupdate.in or |
| ../config.status changed. |
| |
| * tupdate.in: Correct case where message is new: no really print msgid. |
| Better help message by François Pinard. |
| Recognize #\t as comment. |
| Print comment for now obsolete entries. |
| Handle real comments (translator comments and tupdate generate obsolete |
| entries). |
| |
| * gettextp.c (usage): Better help message. |
| (usage): Add -s description to help screen. |
| |
| Mon Aug 14 23:50:48 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (install-src): New no-op goal. |
| |
| Thu Aug 10 11:26:45 1995 Ulrich Drepper <drepper@myware> |
| |
| * tupdate.in: Don't print two " in front of commented out msgstrs. |
| |
| Wed Aug 9 09:10:30 1995 Ulrich Drepper <drepper@myware> |
| |
| * hash.c: |
| Better implementation. Rehashing is now much faster because the |
| hashing value stored in the `used' field is reused. |
| (insert_entry): Split into two function. `insert_entry_2' now does the |
| the work while in `insert_entry' the checks are done. |
| (lookup_2): New function. Expects the search key to be NUL |
| terminated. This is the case when the key is already in the |
| hash table when rehashing. |
| |
| * msgfmt.c (write_table): |
| Third argument to `iterate_table' is now a `const' pointer. |
| |
| * hash.h (iterate_table): Third arguemtn is `const' pointer. |
| |
| * xgettext.c (struct id_str): Make fields `const' pointers. |
| |
| Fri Aug 4 22:45:39 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (main): Fix typo: me -> we. |
| |
| * msgfmt.c (output_file_open): Remove this unused variable. |
| Reported by Jim Meyering. |
| |
| * Makefile.in (dist): Remove `copying instead' message. |
| |
| * gettextp.c: Start to implement non-Uniforum behaviour. |
| Implemented new mode where gettext behaves like `echo', |
| while translating the messages available in the specified test. |
| New option: -d, -e, -E, also available in normal mode: |
| -E: ignored. |
| -e: enable expansion of some escape sequences. |
| -d: specify text domain to use. |
| New option: -s: enable `echo' mode. |
| |
| Thu Aug 3 18:25:37 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (usage): |
| Fix typo: anormalies -> anomalies. |
| Reported by Karl Anders O/ygard. |
| |
| Wed Aug 2 18:51:08 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (ID, TAGS): Do not use $^. |
| |
| * xgettext.c (write-header): Add `Content-Type' field. |
| |
| Tue Aug 1 20:07:58 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (distclean): Remove ID file. |
| |
| * Makefile.in (TAGS, ID): Use $^ as command argument. |
| (TAGS): Give etags -o option t write to current directory, |
| not $(srcdir). |
| (ID): Use $(srcdir) instead os $(top_srcdir)/src. |
| |
| Mon Jul 31 20:57:48 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (process_po_file): |
| Quote msgstr in message "empty `msgstr' entry ignored". |
| Report by Karl Anders O/ygard. |
| |
| Sun Jul 30 12:14:29 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (LIBS): Always use ../intl/libintl.a. |
| (all): Always depend on ../intl/libintl.a. |
| |
| Tue Jul 25 00:15:01 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (process_po_file): Correct problem with empty lines. |
| |
| Sun Jul 23 22:47:56 1995 Ulrich Drepper <drepper@myware> |
| |
| * msgfmt.c (process_po_file): |
| Give a message when a sole msgid is found at the end of file. |
| |
| Wed Jul 19 01:52:13 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (PROGRAMS): Always compile all three programs. |
| |
| * gettextp.c: Include libgettext.h explicitly, in addition to |
| libintl.h. On system having libintl.h provided by the C library |
| this assures to have the prototypes for the function defined in |
| GNU gettext library. |
| Use __bindtextdomain and __dgettext instead of bindtextdomain and |
| dgettext resp. |
| Swap arguments in bindtextdomain call. |
| |
| Tue Jul 18 23:57:16 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (add_id_str): |
| `free(msgstr)' can fail on system not allowing free(0). |
| Reported by Francesco Potorti`. |
| |
| Tue Jul 18 19:43:41 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (getpwuid): |
| Define prototype if !defined _POSIX_VERSION. |
| |
| * hash.c: Don't include malloc.h and string.h because it will be |
| done in system.h. |
| |
| * msgfmt.c: Don't include malloc.h because it will be done in |
| system.h. |
| |
| Sat Jul 15 00:45:31 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (main): |
| Disable line_comment option when omit_header is selected. |
| (write_out_domain): Don't write empty line if !line_comment. |
| |
| * Makefile.in (DISTFILES): |
| Due shorted file names now distribute tupdate.in. |
| (install, clean): Handle tupdate, not tupdate.perl. |
| |
| * tupdate.in: Rename tupdate.perl.in to tupdate.in to fit in 14 |
| character file systems. |
| |
| Thu Jul 13 22:21:22 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (install): Test whether Perl was found before |
| installing. |
| |
| * tupdate.perl.in: Make die message more GNU-like. |
| |
| * gettextp.c (usage): |
| Protect prototypes with __P and use K&R form for parameters. |
| |
| * xgettext.c (main): |
| Don't use 100u; poor K&R compilers need (unsigned) 100. |
| |
| * open-po.c (xstrdup): Protect prototype with __P. |
| |
| * msgfmt.c (usage, new_domain, process_po_file, compare_id, |
| write_table, check_pair): Protect prototypes with __P. |
| |
| * hash.c (xmalloc): Protect prototype with __P. |
| |
| Thu Jul 13 01:39:47 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in (check): New no-op goal. |
| |
| Wed Jul 12 10:40:54 1995 Ulrich Drepper <drepper@myware> |
| |
| * tupdate.perl.in: Implement --help and --version options |
| |
| * xgettext.c: Add --string-limit option to specify limit on string |
| length. |
| Only warned when verbose mode is selected. |
| Add --verbose option. |
| Help message now correctly says --version == -V. |
| |
| Tue Jul 11 22:57:54 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c (usage): Split help string because it breaks 1024 |
| byte limit. |
| |
| * Makefile.in (install-exec): Install tupdate. |
| |
| * xgettext.c (stdlib.h): Protect inclusion by STDC_HEADERS. |
| (assert): No assertions anymore. |
| (HAVE_STRTOUL): strtoul is now substituted when not available. |
| Add warning about too long strings (some systems have limits |
| for strings in their compiler and/or tools). E.g. Sinix's |
| gencat program. |
| |
| * msgfmt.c (printf.h): Include always |
| (assert): No assertions anymore (all bugs are gone :-). |
| (HAVE_STRTOUL): Not needed anymore because we substitute |
| strtoul if not present. |
| |
| * Makefile.in (DISTFILES,distclean): tupdate.perl is now found here. |
| |
| Tue Jul 11 01:31:03 1995 Ulrich Drepper <drepper@myware> |
| |
| * Makefile.in: msgfmt.o depends on ../lib/printf.h. |
| |
| * msgfmt.c: protect inclusion of malloc.h and stdlib.h. |
| Don't use GCC's `case b ... e:' feature (NeXT's gcc is |
| gcc-2.xx but does not understand this. Grrr!). |
| |
| * open-po.c: Protect inclusion of string.h and stdlib.h. |
| |
| * hash.c: Pretty print #define. |
| (init_hash, insert_entry): Cast result of calloc. |
| (insert_entry): Remove non-ANSI `(type *) var = ...' by |
| `*(type **) &var = ...'. |
| (compute_hashval): Cast constant to unsigned long (default: int). |
| Has effects on 64-bit machines. |
| |
| Tue Jul 4 00:39:58 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c: Don't write "Version:" field for msgid "". |
| |
| Mon Jul 3 23:02:04 1995 Ulrich Drepper <drepper@myware> |
| |
| * xgettext.c, msgfmt.c: Better comment. |
| |
| * Makefile.in: Pretty print with François. |
| Fix typo in dependencies. |
| Even more dependency corrections. |
| Correct dependencies of open-po.c. |
| Remove unneeded $(srcdir) from Makefile.in dependency. |
| (LIBS): Correct for building in different directory. |
| (INCLUDES): Correct for building in different directory. |
| (DEFS): Rename DEF_MSG_DOM_DIR to LOCALEDIR. |
| (INCLUDE): Don't use -I paths when not needed. |
| |
| * hash.c: Include malloc.c and protect string.h inclusion. |
| |
| * gettextp.c: Protect include of stdlib.h declare prototype for |
| getenv if not __STDC__. |
| Include system.h for EXIT_FAILURE. |
| (main, usage): Replace DEF_MSG_DOM_DIR by LOCALEDIR. |
| |
| * open-po.c: Include system.h for EXIT_FAILURE. |
| |
| * msgfmt.c: Fix typo in !__STDC__ path. |
| (process_po_file): Change for new .po file format. |
| |
| * xgettext.c (main): Rename DEF_MSG_DOM_DIR to LOCALEDIR. |
| Update to new .po file format because Solaris' msgfmt can only |
| handle ANSI C style multi-line strings. |
| |
| Sun Jul 2 21:31:00 1995 Ulrich Drepper <drepper@myware> |
| |
| * gettextp.c: gettextp.c (usage): Fix typo in help message. |
| Reported by François Pinard. |
| |
| Sun Jul 2 02:12:41 1995 Ulrich Drepper <drepper@myware> |
| |
| * First official release. This directory contains the |
| source code for the programs specified in the Uniforum proposal |
| for internationalization. |