From 820f33aaed18b37f68bc4abfeea52df2df3bd374 Mon Sep 17 00:00:00 2001 From: Julian Graham Date: Tue, 22 Dec 2009 00:19:56 -0500 Subject: Improved support for Unicode title case in Guile's string and character APIs. * doc/ref/api-data.texi (Characters): Documentation for `char-titlecase'. * doc/ref/api-i18n.texi (Character Case Mapping): Documentation for `char-locale-titlecase' and `string-locale-titlecase'. * libguile/chars.c, libguile/chars.h (scm_char_titlecase, scm_c_titlecase): New functions. * libguile/i18n.c, libguile/i18n.h (chr_to_case, scm_char_locale_titlecase, str_to_case, scm_string_locale_titlecase): New functions. * libguile/i18n.c (scm_char_locale_downcase, scm_char_locale_upcase, scm_string_locale_downcase, scm_string_locale_upcase): Refactor to share code via chr_to_case and str_to_case, as appropriate. * module/ice-9/i18n.scm (char-locale-title-case, string-locale-titlecase): New functions. * libguile/srfi-13.c (string_titlecase_x): Use uc_totitle instead of uc_toupper. * test-suite/tests/chars.test: Tests for `char-titlecase'. * test-suite/tests/i18n.test: Tests for `char-locale-titlecase' and `string-locale-titlecase'. * test-suite/tests/srfi-13.test: Tests for `string-titlecase'. --- libguile/srfi-13.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libguile/srfi-13.c') diff --git a/libguile/srfi-13.c b/libguile/srfi-13.c index cf2abfc70..c4e85712c 100644 --- a/libguile/srfi-13.c +++ b/libguile/srfi-13.c @@ -2198,7 +2198,7 @@ string_titlecase_x (SCM str, size_t start, size_t end) { if (!in_word) { - scm_i_string_set_x (str, i, uc_toupper (SCM_CHAR (ch))); + scm_i_string_set_x (str, i, uc_totitle (SCM_CHAR (ch))); in_word = 1; } else -- cgit v1.2.3