gnulib.git
13 years agosave-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
Jim Meyering [Tue, 11 Jan 2011 20:41:41 +0000 (21:41 +0100)]
save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module

There is no need to work around the lack of the fchdir function,
since gnulib can now provide a replacement when required.
* lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
* modules/save-cwd (Depends-on): Add fchdir.

13 years agoopenat, save-cwd: avoid xmalloc
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.

13 years agoopenat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
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.

13 years agodoc: Update users.txt.
Bruno Haible [Mon, 10 Jan 2011 17:57:03 +0000 (18:57 +0100)]
doc: Update users.txt.

* users.txt: Add recutils.

13 years agomissing @item
Karl Berry [Mon, 10 Jan 2011 00:38:10 +0000 (16:38 -0800)]
missing @item

13 years agodocument configmake in the manual instead of the source
Karl Berry [Mon, 10 Jan 2011 00:30:27 +0000 (16:30 -0800)]
document configmake in the manual instead of the source

13 years agoUpdate to Unicode 6.0.0.
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.

13 years agoUpdate to Unicode 5.2.0.
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.

13 years agoNew Unicode character properties, from Unicode 5.2.0.
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.

13 years agoNew module 'unictype/property-changes-when-casemapped'.
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.

13 years agoNew module 'unictype/property-changes-when-casefolded'.
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.

13 years agoNew module 'unictype/property-changes-when-titlecased'.
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.

13 years agoNew module 'unictype/property-changes-when-uppercased'.
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.

13 years agoNew module 'unictype/property-changes-when-lowercased'.
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.

13 years agoNew module 'unictype/property-case-ignorable'.
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.

13 years agoNew module 'unictype/property-cased'.
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.

13 years agoUpdate to Unicode 5.2.0.
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.

13 years agouseless-if-before-free: fix typo in --help and make the internal,
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.

13 years agouniwidth/width: Fix width of U+1D173..U+1D17A.
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.

13 years agouninorm tests: Preserve copyright of Unicode data file.
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.

13 years agogen-uni-tables: Oops, fix last commit.
Bruno Haible [Sat, 8 Jan 2011 15:23:57 +0000 (16:23 +0100)]
gen-uni-tables: Oops, fix last commit.

13 years agogen-uni-tables: Prepare for Unicode 5.2.0.
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.

13 years agounilbrk: Clarify gen-uni-tables.c code.
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.

13 years agostrtod: Restore errno when successfully parsing Infinity or NaN.
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.

13 years agoremove test: Avoid failure on HP-UX 11.
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.

13 years agomkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
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.

13 years agoignore-value: clarify some comments
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.

13 years agoignore-value: support aggregate types
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>
13 years agomaint.mk: improve sc_prohibit_strcmp regex
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>
13 years agomaint: fix ChangeLog order
Eric Blake [Thu, 6 Jan 2011 21:30:53 +0000 (14:30 -0700)]
maint: fix ChangeLog order

13 years agosignal: work around Haiku issue with SIGBUS
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>
13 years agomaint.mk: add pre-release check to ensure submodule commits are public
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.

13 years agoignore-value: make ignore_value more generic; deprecate ignore_ptr
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.

13 years agodoc: regenerate INSTALL
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>
13 years agoMerge remote branch 'origin/coreutils-8.9'
Jim Meyering [Tue, 4 Jan 2011 20:19:00 +0000 (21:19 +0100)]
Merge remote branch 'origin/coreutils-8.9'

13 years agoMerge branch 'coreutils-8.9'
Jim Meyering [Tue, 4 Jan 2011 19:56:23 +0000 (20:56 +0100)]
Merge branch 'coreutils-8.9'

13 years agogit-version-gen: avoid a sub-shell
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.]

13 years agoavoid an unnecessary sub-shell
Bruce Korb [Tue, 4 Jan 2011 17:33:27 +0000 (09:33 -0800)]
avoid an unnecessary sub-shell

13 years agorebuild
Karl Berry [Tue, 4 Jan 2011 16:24:07 +0000 (08:24 -0800)]
rebuild

13 years agoautoupdate
Karl Berry [Tue, 4 Jan 2011 16:21:17 +0000 (08:21 -0800)]
autoupdate

13 years agogit-version-gen: avoid a sub-shell
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.

13 years agogit-version-gen: use (...) rather than sh -c '...'
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.

13 years agogit-version-gen: convert leading TABs to spaces
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.

13 years agogit-version-gen: handle failed "git rev-list"
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

13 years agogit-version-gen: include command name in one more diagnostic
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.

13 years agoupdate-copyright: adjust test to match changed code
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.

13 years agogetlogin_r: Avoid test failure on HP-UX 11.
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.

13 years agodocument new copyright owner name changes
Bruce Korb [Mon, 3 Jan 2011 01:22:21 +0000 (17:22 -0800)]
document new copyright owner name changes

13 years agodocument new copyright owner name changes
Bruce Korb [Mon, 3 Jan 2011 01:21:42 +0000 (17:21 -0800)]
document new copyright owner name changes

13 years agobuild-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER environment variable.
Simon Josefsson [Sun, 2 Jan 2011 19:02:03 +0000 (20:02 +0100)]
build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER environment variable.

13 years agounigbrk: Avoid gcc warnings.
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'.

13 years agopwrite: Fix test whether it works and make it work on HP-UX 11.11.
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.

13 years agopread: Fix test whether it works.
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.

13 years agoFix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
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.

13 years agotcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
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.

13 years agoRename uc_is_grapheme_cluster_break() to uc_is_grapheme_break().
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.

13 years agoRemove u#-grapheme-len modules as too redundant with u#-grapheme-next.
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.

13 years agounigbrk.in.h: Fix typo: "ben" => "been".
Ben Pfaff [Sat, 1 Jan 2011 23:17:10 +0000 (15:17 -0800)]
unigbrk.in.h: Fix typo: "ben" => "been".

Reported by Bruno Haible.

13 years agomaint: update almost all copyright ranges to include 2011
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.

13 years agomaint: update-copyright: exempt doc/INSTALL*
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.

13 years agomaint: refine the update-copyright rule
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.

13 years agounigbrk: New modules for grapheme clusters.
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.

13 years agounigbrk: Fix uc_graphemeclusterbreak_property(), add comprehensive test.
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.

13 years agoAvoid use of hexadecimal escapes.
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.

13 years agomaint: new rule to update copyright year ranges
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.

13 years agomaint: indent with TABs in Makefile
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

13 years agoversion-etc: update the copyright year it reports
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.

13 years agoisfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
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.

13 years agopwrite: Work around HP-UX 11.11 bug.
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.

13 years agopread: Work around HP-UX 11 bugs.
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.

13 years agonl_langinfo: fix YESEXPR on Irix 6.5
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>
13 years agoiconv: Document HP-UX 11 bug.
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.

13 years agoldexpl: Fix link error on HP-UX 11.
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.

13 years agoftello: avoid compilation failure with SunStudio c89
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>
13 years agotests: avoid failing coreutils tests on cygwin
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>
13 years agosys_select: Avoid warning about missing memset declaration on HP-UX 11.
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>.

13 years agowaitpid: Fix link error in C++ mode.
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.

13 years agoisnan: Use GCC built-ins when possible.
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.

13 years agoisnand: Fix mistake.
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.

13 years agoopen: Avoid C++ error on HP-UX 11.
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.

13 years agotime_r: Add missing declarations on HP-UX 11.
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.

13 years agomountlist: tweak previous commit
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>
13 years agomountlist: fix local drive detection on cygwin
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>
13 years agoftoastr, snprintf: ftoastr + snprintf module
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.

13 years agoalloca: one step towards thread-safety
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.

13 years agotests: minor indenting change
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.

13 years agoregex: don't infloop on persistent failing calloc
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

13 years agolinkat: Make implementation robust against system behaviour variations.
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.

13 years agoNew modules for grapheme cluster breaking.
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>.

13 years agolinkat test: Avoid failure on Solaris 11 2010-11.
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.

13 years agoutimens: work around glibc rounding bug on more platforms
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>.

13 years agoselect tests: Improve comments.
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.

13 years agoselect tests: Safer way of handling timeout.
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.

13 years agoselect tests: Use 'bool' where appropriate.
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'.

13 years agoselect tests: Use existing modules.
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>.

13 years agombrtowc: Work around a Solaris 7 bug.
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.

13 years agoread-file.c: tweak syntax
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.

13 years agotimes test: Avoid gcc warnings on OSF/1.
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'.

13 years agoutimens: work around glibc rounding bug on older Linux kernels
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>.

13 years agoinet_ntop: Hide mismatch of declaration on NonStop Kernel.
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>.