Paul Eggert [Tue, 11 Jan 2011 18:42:55 +0000 (10:42 -0800)]
openat, save-cwd: avoid xmalloc
This removes a direct (but undocumented) dependency of openat on
xalloc, along with an indirect dependency via save-cwd. It also
removes a dependency of save-cwd on xgetcwd, and thereby
indirectly on xalloc. This change causes the openat substitute
to fall back on save_cwd when memory is tight, and for save_cwd to
fail instead of dying when memory is tight, but that's good enough.
* lib/openat-proc.c: Include stdlib.h (for malloc), not
xalloc.h (for xmalloc).
(openat_proc_name): Use malloc, not xmalloc.
* lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
* modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
Paul Eggert [Tue, 11 Jan 2011 18:26:56 +0000 (10:26 -0800)]
openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
This avoids heap allocation for file names whose lengths are in
the range 512..1023, with the upper bound increasing to at most
4031 depending on the platform's PATH_MAX. (We do not want
pathmax.h here as it might supply a non-constant PATH_MAX.)
* lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
Perhaps they should be moved to malloca.h?
(OPENAT_BUFFER_SIZE): Use them.
Bruno Haible [Mon, 10 Jan 2011 17:57:03 +0000 (18:57 +0100)]
doc: Update users.txt.
* users.txt: Add recutils.
Karl Berry [Mon, 10 Jan 2011 00:38:10 +0000 (16:38 -0800)]
missing @item
Karl Berry [Mon, 10 Jan 2011 00:30:27 +0000 (16:30 -0800)]
document configmake in the manual instead of the source
Bruno Haible [Sun, 9 Jan 2011 14:37:35 +0000 (15:37 +0100)]
Update to Unicode 6.0.0.
* lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
(get_lbp): Update for Unicode 6.0.0.
* lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
U+11001, U+11038..U+11046. Remove U+06DE.
(uc_width): Fix bounds of planes.
* tests/uniwidth/test-uc_width2.sh: Same updates as in
lib/uniwidth/width.c.
* tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
trailing whitespace removed.
* tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
without comments, but with the original copyright notice.
* lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
* lib/unicase/ignorable.h: Likewise.
* lib/unicase/tocasefold.h: Likewise.
* lib/unicase/tolower.h: Likewise.
* lib/unicase/totitle.h: Likewise.
* lib/unicase/toupper.h: Likewise.
* lib/unictype/bidi_of.h: Likewise.
* lib/unictype/blocks.h: Likewise.
* lib/unictype/categ_C.h: Likewise.
* lib/unictype/categ_Cn.h: Likewise.
* lib/unictype/categ_L.h: Likewise.
* lib/unictype/categ_Ll.h: Likewise.
* lib/unictype/categ_Lm.h: Likewise.
* lib/unictype/categ_Lo.h: Likewise.
* lib/unictype/categ_Lu.h: Likewise.
* lib/unictype/categ_M.h: Likewise.
* lib/unictype/categ_Mc.h: Likewise.
* lib/unictype/categ_Me.h: Likewise.
* lib/unictype/categ_Mn.h: Likewise.
* lib/unictype/categ_N.h: Likewise.
* lib/unictype/categ_Nd.h: Likewise.
* lib/unictype/categ_No.h: Likewise.
* lib/unictype/categ_P.h: Likewise.
* lib/unictype/categ_Po.h: Likewise.
* lib/unictype/categ_S.h: Likewise.
* lib/unictype/categ_Sc.h: Likewise.
* lib/unictype/categ_Sk.h: Likewise.
* lib/unictype/categ_Sm.h: Likewise.
* lib/unictype/categ_So.h: Likewise.
* lib/unictype/categ_of.h: Likewise.
* lib/unictype/combining.h: Likewise.
* lib/unictype/ctype_alnum.h: Likewise.
* lib/unictype/ctype_alpha.h: Likewise.
* lib/unictype/ctype_graph.h: Likewise.
* lib/unictype/ctype_lower.h: Likewise.
* lib/unictype/ctype_print.h: Likewise.
* lib/unictype/ctype_punct.h: Likewise.
* lib/unictype/ctype_upper.h: Likewise.
* lib/unictype/decdigit.h: Likewise.
* lib/unictype/digit.h: Likewise.
* lib/unictype/numeric.h: Likewise.
* lib/unictype/pr_alphabetic.h: Likewise.
* lib/unictype/pr_bidi_arabic_digit.h: Likewise.
* lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
* lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
* lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
* lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
* lib/unictype/pr_bidi_left_to_right.h: Likewise.
* lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
* lib/unictype/pr_bidi_other_neutral.h: Likewise.
* lib/unictype/pr_case_ignorable.h: Likewise.
* lib/unictype/pr_cased.h: Likewise.
* lib/unictype/pr_changes_when_casefolded.h: Likewise.
* lib/unictype/pr_changes_when_casemapped.h: Likewise.
* lib/unictype/pr_changes_when_lowercased.h: Likewise.
* lib/unictype/pr_changes_when_titlecased.h: Likewise.
* lib/unictype/pr_changes_when_uppercased.h: Likewise.
* lib/unictype/pr_combining.h: Likewise.
* lib/unictype/pr_composite.h: Likewise.
* lib/unictype/pr_currency_symbol.h: Likewise.
* lib/unictype/pr_decimal_digit.h: Likewise.
* lib/unictype/pr_deprecated.h: Likewise.
* lib/unictype/pr_format_control.h: Likewise.
* lib/unictype/pr_grapheme_base.h: Likewise.
* lib/unictype/pr_grapheme_extend.h: Likewise.
* lib/unictype/pr_grapheme_link.h: Likewise.
* lib/unictype/pr_id_continue.h: Likewise.
* lib/unictype/pr_id_start.h: Likewise.
* lib/unictype/pr_ideographic.h: Likewise.
* lib/unictype/pr_lowercase.h: Likewise.
* lib/unictype/pr_math.h: Likewise.
* lib/unictype/pr_numeric.h: Likewise.
* lib/unictype/pr_other_alphabetic.h: Likewise.
* lib/unictype/pr_other_id_continue.h: Likewise.
* lib/unictype/pr_other_math.h: Likewise.
* lib/unictype/pr_punctuation.h: Likewise.
* lib/unictype/pr_sentence_terminal.h: Likewise.
* lib/unictype/pr_terminal_punctuation.h: Likewise.
* lib/unictype/pr_unassigned_code_value.h: Likewise.
* lib/unictype/pr_unified_ideograph.h: Likewise.
* lib/unictype/pr_uppercase.h: Likewise.
* lib/unictype/pr_xid_continue.h: Likewise.
* lib/unictype/pr_xid_start.h: Likewise.
* lib/unictype/scripts.h: Likewise.
* lib/unictype/scripts_byname.gperf: Likewise.
* lib/unictype/sy_java_ident.h: Likewise.
* lib/unigbrk/gbrkprop.h: Likewise.
* lib/unilbrk/lbrkprop1.h: Likewise.
* lib/unilbrk/lbrkprop2.h: Likewise.
* lib/uninorm/decomposition-table2.h: Likewise.
* lib/uniwbrk/wbrkprop.h: Likewise.
* tests/unicase/test-cased.c: Likewise.
* tests/unicase/test-ignorable.c: Likewise.
* tests/unicase/test-uc_tolower.c: Likewise.
* tests/unicase/test-uc_totitle.c: Likewise.
* tests/unicase/test-uc_toupper.c: Likewise.
* tests/unictype/test-categ_C.c: Likewise.
* tests/unictype/test-categ_Cn.c: Likewise.
* tests/unictype/test-categ_L.c: Likewise.
* tests/unictype/test-categ_Ll.c: Likewise.
* tests/unictype/test-categ_Lm.c: Likewise.
* tests/unictype/test-categ_Lo.c: Likewise.
* tests/unictype/test-categ_Lu.c: Likewise.
* tests/unictype/test-categ_M.c: Likewise.
* tests/unictype/test-categ_Mc.c: Likewise.
* tests/unictype/test-categ_Me.c: Likewise.
* tests/unictype/test-categ_Mn.c: Likewise.
* tests/unictype/test-categ_N.c: Likewise.
* tests/unictype/test-categ_Nd.c: Likewise.
* tests/unictype/test-categ_No.c: Likewise.
* tests/unictype/test-categ_P.c: Likewise.
* tests/unictype/test-categ_Po.c: Likewise.
* tests/unictype/test-categ_S.c: Likewise.
* tests/unictype/test-categ_Sc.c: Likewise.
* tests/unictype/test-categ_Sk.c: Likewise.
* tests/unictype/test-categ_Sm.c: Likewise.
* tests/unictype/test-categ_So.c: Likewise.
* tests/unictype/test-ctype_alnum.c: Likewise.
* tests/unictype/test-ctype_alpha.c: Likewise.
* tests/unictype/test-ctype_graph.c: Likewise.
* tests/unictype/test-ctype_lower.c: Likewise.
* tests/unictype/test-ctype_print.c: Likewise.
* tests/unictype/test-ctype_punct.c: Likewise.
* tests/unictype/test-ctype_upper.c: Likewise.
* tests/unictype/test-decdigit.h: Likewise.
* tests/unictype/test-digit.h: Likewise.
* tests/unictype/test-numeric.h: Likewise.
* tests/unictype/test-pr_alphabetic.c: Likewise.
* tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
* tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
* tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
* tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
* tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
* tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
* tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
* tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
* tests/unictype/test-pr_case_ignorable.c: Likewise.
* tests/unictype/test-pr_cased.c: Likewise.
* tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
* tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
* tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
* tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
* tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
* tests/unictype/test-pr_combining.c: Likewise.
* tests/unictype/test-pr_composite.c: Likewise.
* tests/unictype/test-pr_currency_symbol.c: Likewise.
* tests/unictype/test-pr_decimal_digit.c: Likewise.
* tests/unictype/test-pr_deprecated.c: Likewise.
* tests/unictype/test-pr_format_control.c: Likewise.
* tests/unictype/test-pr_grapheme_base.c: Likewise.
* tests/unictype/test-pr_grapheme_extend.c: Likewise.
* tests/unictype/test-pr_grapheme_link.c: Likewise.
* tests/unictype/test-pr_id_continue.c: Likewise.
* tests/unictype/test-pr_id_start.c: Likewise.
* tests/unictype/test-pr_ideographic.c: Likewise.
* tests/unictype/test-pr_lowercase.c: Likewise.
* tests/unictype/test-pr_math.c: Likewise.
* tests/unictype/test-pr_numeric.c: Likewise.
* tests/unictype/test-pr_other_alphabetic.c: Likewise.
* tests/unictype/test-pr_other_id_continue.c: Likewise.
* tests/unictype/test-pr_other_math.c: Likewise.
* tests/unictype/test-pr_punctuation.c: Likewise.
* tests/unictype/test-pr_sentence_terminal.c: Likewise.
* tests/unictype/test-pr_terminal_punctuation.c: Likewise.
* tests/unictype/test-pr_unassigned_code_value.c: Likewise.
* tests/unictype/test-pr_unified_ideograph.c: Likewise.
* tests/unictype/test-pr_uppercase.c: Likewise.
* tests/unictype/test-pr_xid_continue.c: Likewise.
* tests/unictype/test-pr_xid_start.c: Likewise.
* tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
* lib/unicase/special-casing-table.gperf: Regenerated; only comment
changes.
* lib/unictype/categ_Cc.h: Likewise.
* lib/unictype/categ_Cf.h: Likewise.
* lib/unictype/categ_Co.h: Likewise.
* lib/unictype/categ_Cs.h: Likewise.
* lib/unictype/categ_Lt.h: Likewise.
* lib/unictype/categ_Nl.h: Likewise.
* lib/unictype/categ_Pc.h: Likewise.
* lib/unictype/categ_Pd.h: Likewise.
* lib/unictype/categ_Pe.h: Likewise.
* lib/unictype/categ_Pf.h: Likewise.
* lib/unictype/categ_Pi.h: Likewise.
* lib/unictype/categ_Ps.h: Likewise.
* lib/unictype/categ_Z.h: Likewise.
* lib/unictype/categ_Zl.h: Likewise.
* lib/unictype/categ_Zp.h: Likewise.
* lib/unictype/categ_Zs.h: Likewise.
* lib/unictype/ctype_blank.h: Likewise.
* lib/unictype/ctype_cntrl.h: Likewise.
* lib/unictype/ctype_digit.h: Likewise.
* lib/unictype/ctype_space.h: Likewise.
* lib/unictype/ctype_xdigit.h: Likewise.
* lib/unictype/mirror.h: Likewise.
* lib/unictype/pr_ascii_hex_digit.h: Likewise.
* lib/unictype/pr_bidi_block_separator.h: Likewise.
* lib/unictype/pr_bidi_common_separator.h: Likewise.
* lib/unictype/pr_bidi_control.h: Likewise.
* lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
* lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
* lib/unictype/pr_bidi_european_digit.h: Likewise.
* lib/unictype/pr_bidi_pdf.h: Likewise.
* lib/unictype/pr_bidi_segment_separator.h: Likewise.
* lib/unictype/pr_bidi_whitespace.h: Likewise.
* lib/unictype/pr_dash.h: Likewise.
* lib/unictype/pr_default_ignorable_code_point.h: Likewise.
* lib/unictype/pr_diacritic.h: Likewise.
* lib/unictype/pr_extender.h: Likewise.
* lib/unictype/pr_hex_digit.h: Likewise.
* lib/unictype/pr_hyphen.h: Likewise.
* lib/unictype/pr_ids_binary_operator.h: Likewise.
* lib/unictype/pr_ids_trinary_operator.h: Likewise.
* lib/unictype/pr_ignorable_control.h: Likewise.
* lib/unictype/pr_iso_control.h: Likewise.
* lib/unictype/pr_join_control.h: Likewise.
* lib/unictype/pr_left_of_pair.h: Likewise.
* lib/unictype/pr_line_separator.h: Likewise.
* lib/unictype/pr_logical_order_exception.h: Likewise.
* lib/unictype/pr_non_break.h: Likewise.
* lib/unictype/pr_not_a_character.h: Likewise.
* lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
* lib/unictype/pr_other_grapheme_extend.h: Likewise.
* lib/unictype/pr_other_id_start.h: Likewise.
* lib/unictype/pr_other_lowercase.h: Likewise.
* lib/unictype/pr_other_uppercase.h: Likewise.
* lib/unictype/pr_paired_punctuation.h: Likewise.
* lib/unictype/pr_paragraph_separator.h: Likewise.
* lib/unictype/pr_pattern_syntax.h: Likewise.
* lib/unictype/pr_pattern_white_space.h: Likewise.
* lib/unictype/pr_private_use.h: Likewise.
* lib/unictype/pr_quotation_mark.h: Likewise.
* lib/unictype/pr_radical.h: Likewise.
* lib/unictype/pr_soft_dotted.h: Likewise.
* lib/unictype/pr_space.h: Likewise.
* lib/unictype/pr_titlecase.h: Likewise.
* lib/unictype/pr_variation_selector.h: Likewise.
* lib/unictype/pr_white_space.h: Likewise.
* lib/unictype/pr_zero_width.h: Likewise.
* lib/unictype/sy_c_ident.h: Likewise.
* lib/unictype/sy_c_whitespace.h: Likewise.
* lib/unictype/sy_java_whitespace.h: Likewise.
* lib/uninorm/composition-table.gperf: Likewise.
* lib/uninorm/decomposition-table1.h: Likewise.
* tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
LB8.
* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
* modules/unictype/*: Bump version number of expected libunistring
version.
Bruno Haible [Sun, 9 Jan 2011 13:24:30 +0000 (14:24 +0100)]
Update to Unicode 5.2.0.
* tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
trailing whitespace removed.
Bruno Haible [Sun, 9 Jan 2011 10:33:55 +0000 (11:33 +0100)]
New Unicode character properties, from Unicode 5.2.0.
* lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
UC_PROPERTY_CHANGES_WHEN_TITLECASED,
UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
uc_is_property_cased, uc_is_property_case_ignorable,
uc_is_property_changes_when_lowercased,
uc_is_property_changes_when_uppercased,
uc_is_property_changes_when_titlecased,
uc_is_property_changes_when_casefolded,
uc_is_property_changes_when_casemapped): New declarations.
* lib/unictype/pr_byname.gperf: Add the new properties.
* modules/unictype/property-byname (Depends-on): Depend on the new
properties modules.
* modules/unictype/property-all (Depends-on): Likewise.
* MODULES.html.sh (Unicode string functions): Add
unictype/property-case-ignorable, unictype/property-cased,
unictype/property-changes-when-casefolded,
unictype/property-changes-when-casemapped,
unictype/property-changes-when-lowercased,
unictype/property-changes-when-titlecased,
unictype/property-changes-when-uppercased.
Bruno Haible [Sun, 9 Jan 2011 10:28:10 +0000 (11:28 +0100)]
New module 'unictype/property-changes-when-casemapped'.
* modules/unictype/property-changes-when-casemapped: New file.
* lib/unictype/pr_changes_when_casemapped.c: New file.
* lib/unictype/pr_changes_when_casemapped.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-casemapped-tests: New file.
* tests/unictype/test-pr_changes_when_casemapped.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:27:09 +0000 (11:27 +0100)]
New module 'unictype/property-changes-when-casefolded'.
* modules/unictype/property-changes-when-casefolded: New file.
* lib/unictype/pr_changes_when_casefolded.c: New file.
* lib/unictype/pr_changes_when_casefolded.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-casefolded-tests: New file.
* tests/unictype/test-pr_changes_when_casefolded.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:25:48 +0000 (11:25 +0100)]
New module 'unictype/property-changes-when-titlecased'.
* modules/unictype/property-changes-when-titlecased: New file.
* lib/unictype/pr_changes_when_titlecased.c: New file.
* lib/unictype/pr_changes_when_titlecased.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-titlecased-tests: New file.
* tests/unictype/test-pr_changes_when_titlecased.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:24:48 +0000 (11:24 +0100)]
New module 'unictype/property-changes-when-uppercased'.
* modules/unictype/property-changes-when-uppercased: New file.
* lib/unictype/pr_changes_when_uppercased.c: New file.
* lib/unictype/pr_changes_when_uppercased.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-uppercased-tests: New file.
* tests/unictype/test-pr_changes_when_uppercased.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:23:38 +0000 (11:23 +0100)]
New module 'unictype/property-changes-when-lowercased'.
* modules/unictype/property-changes-when-lowercased: New file.
* lib/unictype/pr_changes_when_lowercased.c: New file.
* lib/unictype/pr_changes_when_lowercased.h: New file, automatically
generated by gen-uni-tables.
* modules/unictype/property-changes-when-lowercased-tests: New file.
* tests/unictype/test-pr_changes_when_lowercased.c: New file,
automatically generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:20:53 +0000 (11:20 +0100)]
New module 'unictype/property-case-ignorable'.
* modules/unictype/property-case-ignorable: New file.
* lib/unictype/pr_case_ignorable.c: New file.
* lib/unictype/pr_case_ignorable.h: New file, automatically generated
by gen-uni-tables.
* modules/unictype/property-case-ignorable-tests: New file.
* tests/unictype/test-pr_case_ignorable.c: New file, automatically
generated by gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:18:42 +0000 (11:18 +0100)]
New module 'unictype/property-cased'.
* modules/unictype/property-cased: New file.
* lib/unictype/pr_cased.c: New file.
* lib/unictype/pr_cased.h: New file, automatically generated by
gen-uni-tables.
* modules/unictype/property-cased-tests: New file.
* tests/unictype/test-pr_cased.c: New file, automatically generated by
gen-uni-tables.
Bruno Haible [Sun, 9 Jan 2011 10:09:25 +0000 (11:09 +0100)]
Update to Unicode 5.2.0.
* lib/gen-uni-tables.c (output_predicate, output_category,
output_combclass, output_bidi_category, output_decimal_digit_test,
output_decimal_digit, output_digit_test, output_digit,
output_numeric_test, output_numeric, output_mirror, output_scripts,
output_scripts_byname, output_blocks, output_ident_category): Fix
comment header.
(is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
get_wbp.
(PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
items.
(fill_properties): Also fill the peoperties Cased, Case_Ignorable,
Changes_When_Lowercased, Changes_When_Uppercased,
Changes_When_Titlecased, Changes_When_Casefolded,
Changes_When_Casemapped.
(is_property_alphabetic, is_property_default_ignorable_code_point):
Update for Unicode 5.2.0.
(is_property_cased, is_property_case_ignorable,
is_property_changes_when_lowercased,
is_property_changes_when_uppercased,
is_property_changes_when_titlecased,
is_property_changes_when_casefolded,
is_property_changes_when_casemapped): New functions.
(output_properties): Output also the properties cased, case_ignorable,
changes_when_lowercased, changes_when_uppercased,
changes_when_titlecased, changes_when_casefolded,
changes_when_casemapped.
(symbolic_width): Update for Unicode 5.2.0, incorporating changes from
Unicode TR#11 revision 17 -> 19.
(LBP_CP): New enumeration value.
(LBP_*): Adjust values accordingly.
(get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
TR#14 revision 22 -> 24.
(debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
(fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
(get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
is_WBP_MIDLETTER.
(output_composition_tables): Allow for 24 bits instead of 16 bits in
the code1 and code2 of each composition rule.
* lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
* lib/unicase/ignorable.h: Likewise.
* lib/unicase/tocasefold.h: Likewise.
* lib/unicase/tolower.h: Likewise.
* lib/unicase/totitle.h: Likewise.
* lib/unicase/toupper.h: Likewise.
* lib/unictype/bidi_of.h: Likewise.
* lib/unictype/blocks.h: Likewise.
* lib/unictype/categ_C.h: Likewise.
* lib/unictype/categ_Cf.h: Likewise.
* lib/unictype/categ_Cn.h: Likewise.
* lib/unictype/categ_L.h: Likewise.
* lib/unictype/categ_Ll.h: Likewise.
* lib/unictype/categ_Lm.h: Likewise.
* lib/unictype/categ_Lo.h: Likewise.
* lib/unictype/categ_Lu.h: Likewise.
* lib/unictype/categ_M.h: Likewise.
* lib/unictype/categ_Mc.h: Likewise.
* lib/unictype/categ_Mn.h: Likewise.
* lib/unictype/categ_N.h: Likewise.
* lib/unictype/categ_Nd.h: Likewise.
* lib/unictype/categ_Nl.h: Likewise.
* lib/unictype/categ_No.h: Likewise.
* lib/unictype/categ_P.h: Likewise.
* lib/unictype/categ_Pd.h: Likewise.
* lib/unictype/categ_Po.h: Likewise.
* lib/unictype/categ_S.h: Likewise.
* lib/unictype/categ_Sc.h: Likewise.
* lib/unictype/categ_So.h: Likewise.
* lib/unictype/categ_of.h: Likewise.
* lib/unictype/combining.h: Likewise.
* lib/unictype/ctype_alnum.h: Likewise.
* lib/unictype/ctype_alpha.h: Likewise.
* lib/unictype/ctype_graph.h: Likewise.
* lib/unictype/ctype_lower.h: Likewise.
* lib/unictype/ctype_print.h: Likewise.
* lib/unictype/ctype_punct.h: Likewise.
* lib/unictype/ctype_upper.h: Likewise.
* lib/unictype/decdigit.h: Likewise.
* lib/unictype/digit.h: Likewise.
* lib/unictype/numeric.h: Likewise.
* lib/unictype/pr_alphabetic.h: Likewise.
* lib/unictype/pr_bidi_arabic_digit.h: Likewise.
* lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
* lib/unictype/pr_bidi_european_digit.h: Likewise.
* lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
* lib/unictype/pr_bidi_left_to_right.h: Likewise.
* lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
* lib/unictype/pr_bidi_other_neutral.h: Likewise.
* lib/unictype/pr_combining.h: Likewise.
* lib/unictype/pr_composite.h: Likewise.
* lib/unictype/pr_currency_symbol.h: Likewise.
* lib/unictype/pr_dash.h: Likewise.
* lib/unictype/pr_decimal_digit.h: Likewise.
* lib/unictype/pr_deprecated.h: Likewise.
* lib/unictype/pr_diacritic.h: Likewise.
* lib/unictype/pr_extender.h: Likewise.
* lib/unictype/pr_grapheme_base.h: Likewise.
* lib/unictype/pr_grapheme_extend.h: Likewise.
* lib/unictype/pr_grapheme_link.h: Likewise.
* lib/unictype/pr_id_continue.h: Likewise.
* lib/unictype/pr_id_start.h: Likewise.
* lib/unictype/pr_ideographic.h: Likewise.
* lib/unictype/pr_ignorable_control.h: Likewise.
* lib/unictype/pr_logical_order_exception.h: Likewise.
* lib/unictype/pr_lowercase.h: Likewise.
* lib/unictype/pr_numeric.h: Likewise.
* lib/unictype/pr_other_alphabetic.h: Likewise.
* lib/unictype/pr_punctuation.h: Likewise.
* lib/unictype/pr_sentence_terminal.h: Likewise.
* lib/unictype/pr_terminal_punctuation.h: Likewise.
* lib/unictype/pr_unassigned_code_value.h: Likewise.
* lib/unictype/pr_unified_ideograph.h: Likewise.
* lib/unictype/pr_uppercase.h: Likewise.
* lib/unictype/pr_xid_continue.h: Likewise.
* lib/unictype/pr_xid_start.h: Likewise.
* lib/unictype/pr_zero_width.h: Likewise.
* lib/unictype/scripts.h: Likewise.
* lib/unictype/scripts_byname.gperf: Likewise.
* lib/unictype/sy_java_ident.h: Likewise.
* lib/unigbrk/gbrkprop.h: Likewise.
* lib/unilbrk/lbrkprop1.h: Likewise.
* lib/unilbrk/lbrkprop2.h: Likewise.
* lib/unilbrk/lbrktables.h: Likewise.
* lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
LBP_CP. Implement rule LB30.
* lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
(uc_width): Return 2 also for unassigned code points of planes 2 and 3.
* lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
* lib/uninorm/composition.c (struct composition_rule): Allow for 24
bits instead of 16 bits in the code1 and code2 of each composition
rule.
(uc_composition): Update for Unicode 5.2.0.
* lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
* lib/uninorm/decomposition-table2.h: Likewise.
* lib/uniwbrk/wbrkprop.h: Likewise.
* tests/unicase/test-cased.c: Likewise.
* tests/unicase/test-ignorable.c: Likewise.
* tests/unicase/test-uc_tolower.c: Likewise.
* tests/unicase/test-uc_totitle.c: Likewise.
* tests/unicase/test-uc_toupper.c: Likewise.
* tests/unictype/test-categ_C.c: Likewise.
* tests/unictype/test-categ_Cf.c: Likewise.
* tests/unictype/test-categ_Cn.c: Likewise.
* tests/unictype/test-categ_L.c: Likewise.
* tests/unictype/test-categ_Ll.c: Likewise.
* tests/unictype/test-categ_Lm.c: Likewise.
* tests/unictype/test-categ_Lo.c: Likewise.
* tests/unictype/test-categ_Lu.c: Likewise.
* tests/unictype/test-categ_M.c: Likewise.
* tests/unictype/test-categ_Mc.c: Likewise.
* tests/unictype/test-categ_Mn.c: Likewise.
* tests/unictype/test-categ_N.c: Likewise.
* tests/unictype/test-categ_Nd.c: Likewise.
* tests/unictype/test-categ_Nl.c: Likewise.
* tests/unictype/test-categ_No.c: Likewise.
* tests/unictype/test-categ_P.c: Likewise.
* tests/unictype/test-categ_Pd.c: Likewise.
* tests/unictype/test-categ_Po.c: Likewise.
* tests/unictype/test-categ_S.c: Likewise.
* tests/unictype/test-categ_Sc.c: Likewise.
* tests/unictype/test-categ_So.c: Likewise.
* tests/unictype/test-ctype_alnum.c: Likewise.
* tests/unictype/test-ctype_alpha.c: Likewise.
* tests/unictype/test-ctype_graph.c: Likewise.
* tests/unictype/test-ctype_lower.c: Likewise.
* tests/unictype/test-ctype_print.c: Likewise.
* tests/unictype/test-ctype_punct.c: Likewise.
* tests/unictype/test-ctype_upper.c: Likewise.
* tests/unictype/test-decdigit.h: Likewise.
* tests/unictype/test-digit.h: Likewise.
* tests/unictype/test-numeric.h: Likewise.
* tests/unictype/test-pr_alphabetic.c: Likewise.
* tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
* tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
* tests/unictype/test-pr_bidi_european_digit.c: Likewise.
* tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
* tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
* tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
* tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
* tests/unictype/test-pr_combining.c: Likewise.
* tests/unictype/test-pr_composite.c: Likewise.
* tests/unictype/test-pr_currency_symbol.c: Likewise.
* tests/unictype/test-pr_dash.c: Likewise.
* tests/unictype/test-pr_decimal_digit.c: Likewise.
* tests/unictype/test-pr_deprecated.c: Likewise.
* tests/unictype/test-pr_diacritic.c: Likewise.
* tests/unictype/test-pr_extender.c: Likewise.
* tests/unictype/test-pr_grapheme_base.c: Likewise.
* tests/unictype/test-pr_grapheme_extend.c: Likewise.
* tests/unictype/test-pr_grapheme_link.c: Likewise.
* tests/unictype/test-pr_id_continue.c: Likewise.
* tests/unictype/test-pr_id_start.c: Likewise.
* tests/unictype/test-pr_ideographic.c: Likewise.
* tests/unictype/test-pr_ignorable_control.c: Likewise.
* tests/unictype/test-pr_logical_order_exception.c: Likewise.
* tests/unictype/test-pr_lowercase.c: Likewise.
* tests/unictype/test-pr_numeric.c: Likewise.
* tests/unictype/test-pr_other_alphabetic.c: Likewise.
* tests/unictype/test-pr_punctuation.c: Likewise.
* tests/unictype/test-pr_sentence_terminal.c: Likewise.
* tests/unictype/test-pr_terminal_punctuation.c: Likewise.
* tests/unictype/test-pr_unassigned_code_value.c: Likewise.
* tests/unictype/test-pr_unified_ideograph.c: Likewise.
* tests/unictype/test-pr_uppercase.c: Likewise.
* tests/unictype/test-pr_xid_continue.c: Likewise.
* tests/unictype/test-pr_xid_start.c: Likewise.
* tests/unictype/test-pr_zero_width.c: Likewise.
* tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
* tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
changed behaviour: line breaking is now disallowed between a letter
or '=' and '('.
* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
* tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
* tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
* tests/uniwidth/test-uc_width2.sh: Same updates as in
lib/uniwidth/width.c.
* tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
without comments, but with the original copyright notice.
* lib/unicase/special-casing-table.gperf: Regenerated; only comment
changes.
* lib/unictype/categ_Cc.h: Likewise.
* lib/unictype/categ_Co.h: Likewise.
* lib/unictype/categ_Cs.h: Likewise.
* lib/unictype/categ_Lt.h: Likewise.
* lib/unictype/categ_Me.h: Likewise.
* lib/unictype/categ_Pc.h: Likewise.
* lib/unictype/categ_Pe.h: Likewise.
* lib/unictype/categ_Pf.h: Likewise.
* lib/unictype/categ_Pi.h: Likewise.
* lib/unictype/categ_Ps.h: Likewise.
* lib/unictype/categ_Sk.h: Likewise.
* lib/unictype/categ_Sm.h: Likewise.
* lib/unictype/categ_Z.h: Likewise.
* lib/unictype/categ_Zl.h: Likewise.
* lib/unictype/categ_Zp.h: Likewise.
* lib/unictype/categ_Zs.h: Likewise.
* lib/unictype/ctype_blank.h: Likewise.
* lib/unictype/ctype_cntrl.h: Likewise.
* lib/unictype/ctype_digit.h: Likewise.
* lib/unictype/ctype_space.h: Likewise.
* lib/unictype/ctype_xdigit.h: Likewise.
* lib/unictype/mirror.h: Likewise.
* lib/unictype/pr_ascii_hex_digit.h: Likewise.
* lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
* lib/unictype/pr_bidi_block_separator.h: Likewise.
* lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
* lib/unictype/pr_bidi_common_separator.h: Likewise.
* lib/unictype/pr_bidi_control.h: Likewise.
* lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
* lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
* lib/unictype/pr_bidi_pdf.h: Likewise.
* lib/unictype/pr_bidi_segment_separator.h: Likewise.
* lib/unictype/pr_bidi_whitespace.h: Likewise.
* lib/unictype/pr_default_ignorable_code_point.h: Likewise.
* lib/unictype/pr_format_control.h: Likewise.
* lib/unictype/pr_hex_digit.h: Likewise.
* lib/unictype/pr_hyphen.h: Likewise.
* lib/unictype/pr_ids_binary_operator.h: Likewise.
* lib/unictype/pr_ids_trinary_operator.h: Likewise.
* lib/unictype/pr_iso_control.h: Likewise.
* lib/unictype/pr_join_control.h: Likewise.
* lib/unictype/pr_left_of_pair.h: Likewise.
* lib/unictype/pr_line_separator.h: Likewise.
* lib/unictype/pr_math.h: Likewise.
* lib/unictype/pr_non_break.h: Likewise.
* lib/unictype/pr_not_a_character.h: Likewise.
* lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
* lib/unictype/pr_other_grapheme_extend.h: Likewise.
* lib/unictype/pr_other_id_continue.h: Likewise.
* lib/unictype/pr_other_id_start.h: Likewise.
* lib/unictype/pr_other_lowercase.h: Likewise.
* lib/unictype/pr_other_math.h: Likewise.
* lib/unictype/pr_other_uppercase.h: Likewise.
* lib/unictype/pr_paired_punctuation.h: Likewise.
* lib/unictype/pr_paragraph_separator.h: Likewise.
* lib/unictype/pr_pattern_syntax.h: Likewise.
* lib/unictype/pr_pattern_white_space.h: Likewise.
* lib/unictype/pr_private_use.h: Likewise.
* lib/unictype/pr_quotation_mark.h: Likewise.
* lib/unictype/pr_radical.h: Likewise.
* lib/unictype/pr_soft_dotted.h: Likewise.
* lib/unictype/pr_space.h: Likewise.
* lib/unictype/pr_titlecase.h: Likewise.
* lib/unictype/pr_variation_selector.h: Likewise.
* lib/unictype/pr_white_space.h: Likewise.
* lib/unictype/sy_c_ident.h: Likewise.
* lib/unictype/sy_c_whitespace.h: Likewise.
* lib/unictype/sy_java_whitespace.h: Likewise.
* modules/uni*/*: Bump version number of expected libunistring version.
Reported by Simon Josefsson.
Karl Heuer [Sun, 9 Jan 2011 09:16:08 +0000 (10:16 +0100)]
useless-if-before-free: fix typo in --help and make the internal,
automatic version date update process work once again.
--help output contained a NUL character instead of the
backslash-zero that was intended. Also, the "must lie within
the first 8 lines" line is on line 9, and hence not getting
automatically updated.
* build-aux/useless-if-before-free: Fix the former by adding a
backslash, and the latter by condensing the three lines of what-it-does
to a single line, leaving one line of slack for the future.
Bruno Haible [Sun, 9 Jan 2011 09:11:05 +0000 (10:11 +0100)]
uniwidth/width: Fix width of U+1D173..U+1D17A.
* lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
symbolic_width, output_width_property_test): New functions.
(main): Invoke output_nonspacing_property, output_width_property_test.
* lib/uniwidth/width.c (nonspacing_table_data): Set bits for
U+1D173..U+1D17A.
* tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
1.
* modules/uniwidth/*: Bump version number of expected libunistring
version.
* modules/unilbrk/*: Likewise.
Bruno Haible [Sun, 9 Jan 2011 01:06:28 +0000 (02:06 +0100)]
uninorm tests: Preserve copyright of Unicode data file.
* tests/uninorm/NormalizationTest.txt: Re-add original copyright.
Mention modifications.
Bruno Haible [Sat, 8 Jan 2011 15:23:57 +0000 (16:23 +0100)]
gen-uni-tables: Oops, fix last commit.
Bruno Haible [Sat, 8 Jan 2011 15:12:49 +0000 (16:12 +0100)]
gen-uni-tables: Prepare for Unicode 5.2.0.
* lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
(debug_output_lbp, output_lbp): Update.
Bruno Haible [Sat, 8 Jan 2011 15:08:14 +0000 (16:08 +0100)]
unilbrk: Clarify gen-uni-tables.c code.
* lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
were mistakes in UAX #14 revision 22 that are corrected in revision 24.
Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
Bruno Haible [Fri, 7 Jan 2011 20:27:23 +0000 (21:27 +0100)]
strtod: Restore errno when successfully parsing Infinity or NaN.
* lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
restore the original errno.
Bruno Haible [Fri, 7 Jan 2011 20:26:34 +0000 (21:26 +0100)]
remove test: Avoid failure on HP-UX 11.
* tests/test-remove.c (main): Allow EEXIST as alternative error code.
Bruno Haible [Fri, 7 Jan 2011 20:24:51 +0000 (21:24 +0100)]
mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
* tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
error code.
Pádraig Brady [Fri, 7 Jan 2011 01:25:06 +0000 (01:25 +0000)]
ignore-value: clarify some comments
* lib/ignore-value.h: Add Eric Blake as an author since
he rewrote the macros.
(ignore_value): Specify exactly when the GCC warn_unused_result
feature became available.
(ignore_ptr): Mention that ignore_value supports aggregates.
Eric Blake [Thu, 6 Jan 2011 22:41:16 +0000 (15:41 -0700)]
ignore-value: support aggregate types
Also has the advantage of avoiding problems with
gcc -Wbad-function-cast
* lib/ignore-value.h (ignore_value): Provide separate gcc
definition.
* modules/ignore-value-tests: New test module.
* tests/test-ignore-value.c: New test.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Thu, 6 Jan 2011 21:24:57 +0000 (14:24 -0700)]
maint.mk: improve sc_prohibit_strcmp regex
* top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
documented. Also, detect strcmp((expr),expr) == 0. Exempt the
definition of STRNEQ.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Thu, 6 Jan 2011 21:30:53 +0000 (14:30 -0700)]
maint: fix ChangeLog order
Eric Blake [Fri, 31 Dec 2010 19:36:15 +0000 (12:36 -0700)]
signal: work around Haiku issue with SIGBUS
* lib/siglist.h: Add comment.
* lib/sig2str.c (numname_table): Swap SIGBUS order, to match
strsignal's favoring of SIGSEGV.
* tests/test-signal.c (main): Avoid test failure.
* doc/posix-headers/signal.texi (signal.h): Document the issue.
Reported by Scott McCreary.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Thu, 6 Jan 2011 09:35:18 +0000 (10:35 +0100)]
maint.mk: add pre-release check to ensure submodule commits are public
* top/maint.mk (public-submodule-commit): New rule.
(submodule-checks): New variable.
(alpha beta stable): Depend on the variable.
Pádraig Brady [Wed, 5 Jan 2011 11:09:52 +0000 (12:09 +0100)]
ignore-value: make ignore_value more generic; deprecate ignore_ptr
* lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
(ATTRIBUTE_DEPRECATED): Define.
(_ignore_case): New function.
(ignore_value): New macro, to replace the old function.
(ignore_ptr): Arrange for any use to evoke a deprecation warning.
* modules/ignore-value (Depends-on): Add stdint.
Eric Blake [Tue, 4 Jan 2011 23:55:01 +0000 (16:55 -0700)]
doc: regenerate INSTALL
This partially reverts commit
0a29fc2d832c86d69e98b32bbdbc4e746ca2d16c.
* doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
@firstparagraphindent support, now that autoconf dropped it.
(INSTALL_PRELUDE): Reinstate old macro.
* doc/install.texi: Resync from autoconf.
* doc/INSTALL: Reflect recent autoconf update.
* doc/INSTALL.ISO: Likewise.
* doc/INSTALL.UTF-8: Likewise.
Reported by Karl Berry.
Signed-off-by: Eric Blake <eblake@redhat.com>
Jim Meyering [Tue, 4 Jan 2011 20:19:00 +0000 (21:19 +0100)]
Merge remote branch 'origin/coreutils-8.9'
Jim Meyering [Tue, 4 Jan 2011 19:56:23 +0000 (20:56 +0100)]
Merge branch 'coreutils-8.9'
Bruce Korb [Tue, 4 Jan 2011 08:47:49 +0000 (09:47 +0100)]
git-version-gen: avoid a sub-shell
* build-aux/git-version-gen: Redirect stderr in `...` via
"exec 2>...", rather than via an added sub-shell.
[This commit is referenced from coreutils-8.9's gnulib submodule.]
Bruce Korb [Tue, 4 Jan 2011 17:33:27 +0000 (09:33 -0800)]
avoid an unnecessary sub-shell
Karl Berry [Tue, 4 Jan 2011 16:24:07 +0000 (08:24 -0800)]
rebuild
Karl Berry [Tue, 4 Jan 2011 16:21:17 +0000 (08:21 -0800)]
autoupdate
Bruce Korb [Tue, 4 Jan 2011 08:47:49 +0000 (09:47 +0100)]
git-version-gen: avoid a sub-shell
* build-aux/git-version-gen: Redirect stderr in `...` via
"exec 2>...", rather than via an added sub-shell.
Ben Pfaff [Mon, 3 Jan 2011 20:05:04 +0000 (21:05 +0100)]
git-version-gen: use (...) rather than sh -c '...'
* build-aux/git-version-gen: Rather than hard-coding a shell's name
with "sh -c '...'", just use "(...)". Less syntax is better, too.
Jim Meyering [Mon, 3 Jan 2011 19:41:49 +0000 (20:41 +0100)]
git-version-gen: convert leading TABs to spaces
* build-aux/git-version-gen: Expand leading TABs.
Jim Meyering [Mon, 3 Jan 2011 18:35:19 +0000 (19:35 +0100)]
git-version-gen: handle failed "git rev-list"
* build-aux/git-version-gen: Rather than leaking a "fatal" error
from git and proceeding as if it had succeeded but printed no SHA1
checksums, suppress the diagnostic and handle the failure.
Reported by Bruce Korb in http://marc.info/?l=git&m=
129399145930450&w=2
Jim Meyering [Mon, 3 Jan 2011 10:50:43 +0000 (11:50 +0100)]
git-version-gen: include command name in one more diagnostic
* build-aux/git-version-gen: When the required .tarball-version file
was missing or unreadable, you might see the diagnostic from "cat",
but no trace of the name of the invoking script. Now, you still see
the diagnostic from cat, but also get one from "git-version-gen: ".
Inspired by a patch from Bruce Korb.
Jim Meyering [Mon, 3 Jan 2011 07:54:13 +0000 (08:54 +0100)]
update-copyright: adjust test to match changed code
* tests/test-update-copyright.sh: Change test's expected output
to match new actual output.
Bruno Haible [Mon, 3 Jan 2011 01:51:03 +0000 (02:51 +0100)]
getlogin_r: Avoid test failure on HP-UX 11.
* tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
ERANGE when the second argument is zero.
* doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
portability problem.
Bruce Korb [Mon, 3 Jan 2011 01:22:21 +0000 (17:22 -0800)]
document new copyright owner name changes
Bruce Korb [Mon, 3 Jan 2011 01:21:42 +0000 (17:21 -0800)]
document new copyright owner name changes
Simon Josefsson [Sun, 2 Jan 2011 19:02:03 +0000 (20:02 +0100)]
build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER environment variable.
Bruno Haible [Sun, 2 Jan 2011 18:34:18 +0000 (19:34 +0100)]
unigbrk: Avoid gcc warnings.
* lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
unused variable.
* lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
* lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
* tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
* tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
* tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
Change type of first argument to 'const char *'.
(main): Remove unused variable.
* tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
type of first argument to 'const char *'.
* tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
Likewise.
(main): Change type of variable 's'.
* tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
to 'int'.
Bruno Haible [Sun, 2 Jan 2011 17:40:29 +0000 (18:40 +0100)]
pwrite: Fix test whether it works and make it work on HP-UX 11.11.
* m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
bug.
* lib/pwrite.c: Undo 2010-12-31 patch.
* doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
Bruno Haible [Sun, 2 Jan 2011 17:35:20 +0000 (18:35 +0100)]
pread: Fix test whether it works.
* m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
Bruno Haible [Sun, 2 Jan 2011 13:36:30 +0000 (14:36 +0100)]
Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
* m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
ends in "6". Don't require a specific month name. Try also the locale
names found on HP-UX 11 and Solaris 7.
Bruno Haible [Sun, 2 Jan 2011 12:30:17 +0000 (13:30 +0100)]
tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
* lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
C linkage.
* doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
Ben Pfaff [Sat, 1 Jan 2011 23:15:40 +0000 (15:15 -0800)]
Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break().
This aids consistency, since the "cluster" term is not used elsewhere.
* lib/unigbrk.in.h: Update name.
* lib/unigbrk/u16-grapheme-breaks.c: Update name.
* lib/unigbrk/u16-grapheme-next.c: Update name.
* lib/unigbrk/u16-grapheme-prev.c: Update name.
* lib/unigbrk/u32-grapheme-breaks.c: Update name.
* lib/unigbrk/u32-grapheme-next.c: Update name.
* lib/unigbrk/u32-grapheme-prev.c: Update name.
* lib/unigbrk/u8-grapheme-breaks.c: Update name.
* lib/unigbrk/u8-grapheme-next.c: Update name.
* lib/unigbrk/u8-grapheme-prev.c: Update name.
* lib/unigbrk/uc-is-grapheme-break.c: Update name.
* tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
Suggested by Bruno Haible.
Ben Pfaff [Sat, 1 Jan 2011 23:11:53 +0000 (15:11 -0800)]
Remove u#-grapheme-len modules as too redundant with u#-grapheme-next.
Remove module 'u8-grapheme-len' as too redundant with
'u8-grapheme-next'.
* modules/unigbrk/u8-grapheme-len: Delete file.
* modules/unigbrk/u8-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u8-grapheme-len.c: Delete file.
* tests/unigbrk/test-u8-grapheme-len.c: Delete file.
Remove module 'u16-grapheme-len' as too redundant with
'u16-grapheme-next'.
* modules/unigbrk/u16-grapheme-len: Delete file.
* modules/unigbrk/u16-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u16-grapheme-len.c: Delete file.
* tests/unigbrk/test-u16-grapheme-len.c: Delete file.
Remove module 'u32-grapheme-len' as too redundant with
'u32-grapheme-next'.
* modules/unigbrk/u32-grapheme-len: Delete file.
* modules/unigbrk/u32-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u32-grapheme-len.c: Delete file.
* tests/unigbrk/test-u32-grapheme-len.c: Delete file.
Suggested by Bruno Haible.
Ben Pfaff [Sat, 1 Jan 2011 23:17:10 +0000 (15:17 -0800)]
unigbrk.in.h: Fix typo: "ben" => "been".
Reported by Bruno Haible.
Jim Meyering [Sat, 1 Jan 2011 19:17:23 +0000 (20:17 +0100)]
maint: update almost all copyright ranges to include 2011
Run the new "make update-copyright" rule.
Jim Meyering [Sat, 1 Jan 2011 21:09:12 +0000 (22:09 +0100)]
maint: update-copyright: exempt doc/INSTALL*
* Makefile (update-copyright): Also exclude doc/INSTALL*,
since they are generated. Suggested by Bruno Haible.
Jim Meyering [Sat, 1 Jan 2011 19:13:03 +0000 (20:13 +0100)]
maint: refine the update-copyright rule
* Makefile (update-copyright): Also exclude any file that includes
the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
code that merely generates the comment.
Ben Pfaff [Sat, 1 Jan 2011 16:47:34 +0000 (08:47 -0800)]
unigbrk: New modules for grapheme clusters.
New module 'u8-grapheme-len'.
* modules/unigbrk/u8-grapheme-len: New file.
* modules/unigbrk/u8-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-len.c: New file.
* tests/unigbrk/test-u8-grapheme-len.c: New file.
New module 'u16-grapheme-len'.
* modules/unigbrk/u16-grapheme-len: New file.
* modules/unigbrk/u16-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-len.c: New file.
* tests/unigbrk/test-u16-grapheme-len.c: New file.
New module 'u32-grapheme-len'.
* modules/unigbrk/u32-grapheme-len: New file.
* modules/unigbrk/u32-grapheme-len-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-len.c: New file.
* tests/unigbrk/test-u32-grapheme-len.c: New file.
New module 'u8-grapheme-next'.
* modules/unigbrk/u8-grapheme-next: New file.
* modules/unigbrk/u8-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-next.c: New file.
* tests/unigbrk/test-u8-grapheme-next.c: New file.
New module 'u16-grapheme-next'.
* modules/unigbrk/u16-grapheme-next: New file.
* modules/unigbrk/u16-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-next.c: New file.
* tests/unigbrk/test-u16-grapheme-next.c: New file.
New module 'u32-grapheme-next'.
* modules/unigbrk/u32-grapheme-next: New file.
* modules/unigbrk/u32-grapheme-next-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-next.c: New file.
* tests/unigbrk/test-u32-grapheme-next.c: New file.
New module 'u8-grapheme-prev'.
* modules/unigbrk/u8-grapheme-prev: New file.
* modules/unigbrk/u8-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-prev.c: New file.
* tests/unigbrk/test-u8-grapheme-prev.c: New file.
New module 'u16-grapheme-prev'.
* modules/unigbrk/u16-grapheme-prev: New file.
* modules/unigbrk/u16-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-prev.c: New file.
* tests/unigbrk/test-u16-grapheme-prev.c: New file.
New module 'u32-grapheme-prev'.
* modules/unigbrk/u32-grapheme-prev: New file.
* modules/unigbrk/u32-grapheme-prev-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-prev.c: New file.
* tests/unigbrk/test-u32-grapheme-prev.c: New file.
New module 'u8-grapheme-breaks'.
* modules/unigbrk/u8-grapheme-breaks: New file.
* modules/unigbrk/u8-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u8-grapheme-breaks.c: New file.
* tests/unigbrk/test-u8-grapheme-breaks.c: New file.
New module 'u16-grapheme-breaks'.
* modules/unigbrk/u16-grapheme-breaks: New file.
* modules/unigbrk/u16-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u16-grapheme-breaks.c: New file.
* tests/unigbrk/test-u16-grapheme-breaks.c: New file.
New module 'u32-grapheme-breaks'.
* modules/unigbrk/u32-grapheme-breaks: New file.
* modules/unigbrk/u32-grapheme-breaks-tests: New file.
* lib/unigbrk.in.h: Add prototype for new function.
* lib/unigbrk/u32-grapheme-breaks.c: New file.
* tests/unigbrk/test-u32-grapheme-breaks.c: New file.
New module 'ulc-grapheme-breaks'.
* modules/unigbrk/ulc-grapheme-breaks: New file.
* modules/unigbrk/ulc-grapheme-breaks-tests: New file.
* m4/locale-ar.m4: New file.
* lib/unigbrk/ulc-grapheme-breaks.c: New file.
* tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
* tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
Ben Pfaff [Sat, 1 Jan 2011 16:25:31 +0000 (08:25 -0800)]
unigbrk: Fix uc_graphemeclusterbreak_property(), add comprehensive test.
gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
* lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c. I had
modified how this file was generated before I initially submitted
the module, but failed to regenerate it. This meant that several
of the level2 entries were wrong.
* lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
Remove the division-by-2 that is folded into the table now that
gbrkprop.h has been regenerated properly. Now -1 entries are
handled correctly.
New module 'unigbrk/uc-gbrk-prop-tests'.
* modules/unigbrk/uc-gbrk-prop-tests: New file.
* lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
* tests/unigbrk/test-uc-gbrk-prop.c: New file.
* tests/unigbrk/test-uc-gbrk-prop.h: New file.
Bruno Haible [Sat, 1 Jan 2011 11:53:47 +0000 (12:53 +0100)]
Avoid use of hexadecimal escapes.
* tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
instead of hexadecimal escapes.
Jim Meyering [Sat, 1 Jan 2011 11:10:16 +0000 (12:10 +0100)]
maint: new rule to update copyright year ranges
* Makefile (update-copyright): New rule.
Jim Meyering [Sat, 1 Jan 2011 10:47:35 +0000 (11:47 +0100)]
maint: indent with TABs in Makefile
* Makefile: Expand leading sequences of spaces to TABs
Jim Meyering [Sat, 1 Jan 2011 10:08:18 +0000 (11:08 +0100)]
version-etc: update the copyright year it reports
* lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
Bruno Haible [Sat, 1 Jan 2011 02:54:48 +0000 (03:54 +0100)]
isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
* lib/isfinite.c (zerof, zerod, zerol): New variables.
(gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
zero.
Bruno Haible [Sat, 1 Jan 2011 01:25:00 +0000 (02:25 +0100)]
pwrite: Work around HP-UX 11.11 bug.
* m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
works and set REPLACE_PWRITE if not.
* lib/pwrite.c (pwrite): Add an implementation that uses the system
function.
* doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
Bruno Haible [Sat, 1 Jan 2011 00:50:01 +0000 (01:50 +0100)]
pread: Work around HP-UX 11 bugs.
* m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
and set REPLACE_PREAD if not.
* doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
Eric Blake [Fri, 31 Dec 2010 18:42:21 +0000 (11:42 -0700)]
nl_langinfo: fix YESEXPR on Irix 6.5
* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
* lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
* doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
it.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Fri, 31 Dec 2010 22:05:03 +0000 (23:05 +0100)]
iconv: Document HP-UX 11 bug.
* doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
Bruno Haible [Fri, 31 Dec 2010 18:24:13 +0000 (19:24 +0100)]
ldexpl: Fix link error on HP-UX 11.
* m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
LDEXPL_LIBM, using $ISNANL_LIBM.
Eric Blake [Fri, 31 Dec 2010 18:12:55 +0000 (11:12 -0700)]
ftello: avoid compilation failure with SunStudio c89
* lib/ftello.c (ftello): Use lseek, not llseek.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Fri, 31 Dec 2010 16:44:58 +0000 (09:44 -0700)]
tests: avoid failing coreutils tests on cygwin
* tests/init.sh (find_exe_basenames_): Exempt [.exe.
(create_exe_shims_): Return 0 when skipping.
Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible [Fri, 31 Dec 2010 14:48:04 +0000 (15:48 +0100)]
sys_select: Avoid warning about missing memset declaration on HP-UX 11.
* lib/sys_select.in.h: On HP-UX, include also <string.h>.
Bruno Haible [Fri, 31 Dec 2010 14:38:30 +0000 (15:38 +0100)]
waitpid: Fix link error in C++ mode.
* lib/sys_wait.in.h: Remove extern "C" { ... } group.
Bruno Haible [Fri, 31 Dec 2010 14:03:46 +0000 (15:03 +0100)]
isnan: Use GCC built-ins when possible.
* lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
__builtin_isnan.
(gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
(isnan): Define using GCC built-ins for GCC >= 4.0.
Bruno Haible [Fri, 31 Dec 2010 13:55:09 +0000 (14:55 +0100)]
isnand: Fix mistake.
* m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
__builtin_isnand.
Bruno Haible [Fri, 31 Dec 2010 13:17:55 +0000 (14:17 +0100)]
open: Avoid C++ error on HP-UX 11.
* lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
Bruno Haible [Fri, 31 Dec 2010 13:01:33 +0000 (14:01 +0100)]
time_r: Add missing declarations on HP-UX 11.
* lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
instead of HAVE_LOCALTIME_R.
* m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
HAVE_LOCALTIME_R always.
* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
* modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
HAVE_LOCALTIME_R.
* doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
* doc/posix-functions/localtime_r.texi: Likewise.
Eric Blake [Wed, 29 Dec 2010 22:53:15 +0000 (15:53 -0700)]
mountlist: tweak previous commit
* lib/mountlist.c (me_remote): Guarantee trailing backslash.
Reported by Paul Eggert.
Signed-off-by: Eric Blake <eblake@redhat.com>
Eric Blake [Tue, 28 Dec 2010 17:07:58 +0000 (10:07 -0700)]
mountlist: fix local drive detection on cygwin
* lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
that works for cygwin.
Signed-off-by: Eric Blake <eblake@redhat.com>
Paul Eggert [Wed, 29 Dec 2010 09:25:46 +0000 (01:25 -0800)]
ftoastr, snprintf: ftoastr + snprintf module
* lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
since the snprintf module now should be good enough here.
* modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
and gl_MODULE_INDICATOR([snprintf]), but the former enables
GNULIB_SNPRINTF only for the test directory, and the latter
doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
seems to suffice by itself.
Paul Eggert [Wed, 29 Dec 2010 04:41:30 +0000 (20:41 -0800)]
alloca: one step towards thread-safety
* lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
need for a static variable. All callers changed. This does not
make the alloca replacement thread-safe, but it's one step.
Paul Eggert [Tue, 28 Dec 2010 23:58:31 +0000 (15:58 -0800)]
tests: minor indenting change
* tests/init.sh: Sync from coreutils housekeeping patch
<http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
to keep lines within 80 columns.
Jim Meyering [Tue, 28 Dec 2010 14:12:47 +0000 (15:12 +0100)]
regex: don't infloop on persistent failing calloc
* lib/regexec.c (build_trtable): Return failure indication upon
calloc failure. Otherwise, re_search_internal could infloop on OOM.
In glibc, this was fixed for version 2.13:
http://sourceware.org/bugzilla/show_bug.cgi?id=12348
Bruno Haible [Tue, 28 Dec 2010 11:18:54 +0000 (12:18 +0100)]
linkat: Make implementation robust against system behaviour variations.
* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
way, and to -2 if it needs a generic runtime test.
* lib/linkat.c (solaris_optimized_link_immediate,
solaris_optimized_link_follow): New functions.
* tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
(check_same_link): Use it.
Ben Pfaff [Tue, 28 Dec 2010 05:05:16 +0000 (21:05 -0800)]
New modules for grapheme cluster breaking.
New module 'unigbrk/base'.
* modules/unigbrk/base: New file.
* lib/unigbrk.in.h: New file.
New module 'unigbrk/uc-gbrk-prop'.
* lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
* modules/unigbrk/uc-gbrk-prop: New file.
* lib/unigbrk/gbrkprop.h: New file.
* lib/unigbrk/uc-gbrk-prop.c: New file.
New module 'unigbrk/uc-is-grapheme-break'.
* modules/unigbrk/uc-is-grapheme-break: New file.
* modules/unigbrk/uc-is-grapheme-break-tests: New file.
* lib/unigbrk/uc-is-grapheme-break.c: New file.
* tests/unigbrk/test-uc-is-grapheme-break.c: New file.
* tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
* tests/unigbrk/GraphemeBreakTest.txt: New file.
With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
Bruno Haible [Mon, 27 Dec 2010 19:18:17 +0000 (20:18 +0100)]
linkat test: Avoid failure on Solaris 11 2010-11.
* tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
Paul Eggert [Mon, 27 Dec 2010 19:01:57 +0000 (11:01 -0800)]
utimens: work around glibc rounding bug on more platforms
* lib/utimens.c (fdutimens): Work around rounding bug even if
HAVE_WORKING_UTIMES. Reported for Linux 2.4.21 by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
Bruno Haible [Mon, 27 Dec 2010 17:53:31 +0000 (18:53 +0100)]
select tests: Improve comments.
* tests/test-select.c (do_select): Add comments.
Bruno Haible [Mon, 27 Dec 2010 17:52:47 +0000 (18:52 +0100)]
select tests: Safer way of handling timeout.
* tests/test-select.c (do_select_nowait): Zero-initialize the timeout
at every invocation.
Bruno Haible [Mon, 27 Dec 2010 17:51:56 +0000 (18:51 +0100)]
select tests: Use 'bool' where appropriate.
* tests/test-select.c (connect_to_socket): Change argument type to
'bool'.
Bruno Haible [Mon, 27 Dec 2010 17:51:03 +0000 (18:51 +0100)]
select tests: Use existing modules.
* modules/select-tests (Depends-on): Add pipe-posix, unistd.
(configure.ac): Don't test for unistd.h.
* tests/test-select.c: Include <unistd.h> always. Use pipe() as
declared in <unistd.h>.
Bruno Haible [Mon, 27 Dec 2010 13:28:11 +0000 (14:28 +0100)]
mbrtowc: Work around a Solaris 7 bug.
* m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
(gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
(gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
MBRTOWC_NULL_ARG1_BUG.
* lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
* tests/test-mbrtowc.c (main): Test support of a NULL first argument.
* doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
Jim Meyering [Mon, 27 Dec 2010 10:05:00 +0000 (11:05 +0100)]
read-file.c: tweak syntax
* lib/read-file.c (fread_file): Remove space after "*" in function
definitions.
Bruno Haible [Mon, 27 Dec 2010 10:04:43 +0000 (11:04 +0100)]
times test: Avoid gcc warnings on OSF/1.
* tests/test-times.c (main): Cast printf arguments from clock_t to
'long int'.
Paul Eggert [Mon, 27 Dec 2010 08:21:02 +0000 (00:21 -0800)]
utimens: work around glibc rounding bug on older Linux kernels
* lib/utimens.c (fdutimens): If invoking futimesat or futimes
on Linux with a glibc whose utimes might not work, then work
around a longstanding glibc bug involving rounding rather than
truncated time stamps. Reported for Linux 2.4.21 by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
Bruno Haible [Mon, 27 Dec 2010 00:27:33 +0000 (01:27 +0100)]
inet_ntop: Hide mismatch of declaration on NonStop Kernel.
* lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
_GL_CXXALIAS_SYS.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
Bruno Haible [Mon, 27 Dec 2010 00:22:00 +0000 (01:22 +0100)]
inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
* lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
* m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
looking for the declaration.
* m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
* doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
problem.
* doc/posix-functions/inet_pton.texi: Likewise.