Accepting request 646082 from home:psimons:branches:devel:languages:misc
fix ja_JP.sjis locale OBS-URL: https://build.opensuse.org/request/show/646082 OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/guile?expand=0&rev=100
This commit is contained in:
parent
ecff04f851
commit
9eea19bc3d
58
guile-add-test-ja_JP.sjis.patch
Normal file
58
guile-add-test-ja_JP.sjis.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
diff --git a/test-suite/standalone/Makefile.am b/test-suite/standalone/Makefile.am
|
||||||
|
index 3a9d8d9da..327b57262 100644
|
||||||
|
--- a/test-suite/standalone/Makefile.am
|
||||||
|
+++ b/test-suite/standalone/Makefile.am
|
||||||
|
@@ -172,6 +172,10 @@ TESTS += test-mb-regexp
|
||||||
|
check_SCRIPTS += test-use-srfi
|
||||||
|
TESTS += test-use-srfi
|
||||||
|
|
||||||
|
+# test-ja_JP.sjis
|
||||||
|
+check_SCRIPTS += test-ja_JP.sjis
|
||||||
|
+TESTS += test-ja_JP.sjis
|
||||||
|
+
|
||||||
|
# test-scm-c-read
|
||||||
|
test_scm_c_read_SOURCES = test-scm-c-read.c
|
||||||
|
test_scm_c_read_CFLAGS = ${test_cflags}
|
||||||
|
diff --git a/test-suite/standalone/test-ja_JP.sjis b/test-suite/standalone/test-ja_JP.sjis
|
||||||
|
new file mode 100755
|
||||||
|
index 000000000..2aa5ee690
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/test-suite/standalone/test-ja_JP.sjis
|
||||||
|
@@ -0,0 +1,7 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+# Test whether guile can run initialization code using ja_JP.sjis locale
|
||||||
|
+# (bug #33044).
|
||||||
|
+export LC_CTYPE
|
||||||
|
+LC_CTYPE=ja_JP.sjis
|
||||||
|
+exec guile -q -s "$0" "$@"
|
||||||
|
+!#
|
||||||
|
diff --git a/test-suite/standalone/Makefile.in b/test-suite/standalone/Makefile.in
|
||||||
|
index 0f7ef8250..2478a7cc7 100644
|
||||||
|
--- a/test-suite/standalone/Makefile.in
|
||||||
|
+++ b/test-suite/standalone/Makefile.in
|
||||||
|
@@ -96,7 +96,8 @@ TESTS = test-system-cmds test-bad-identifiers test-require-extension \
|
||||||
|
test-list$(EXEEXT) test-unwind$(EXEEXT) \
|
||||||
|
test-conversion$(EXEEXT) test-loose-ends$(EXEEXT) \
|
||||||
|
test-fast-slot-ref test-mb-regexp test-use-srfi \
|
||||||
|
- test-scm-c-read$(EXEEXT) test-scm-take-locale-symbol$(EXEEXT) \
|
||||||
|
+ test-ja_JP.sjis test-scm-c-read$(EXEEXT) \
|
||||||
|
+ test-scm-take-locale-symbol$(EXEEXT) \
|
||||||
|
test-scm-take-u8vector$(EXEEXT) \
|
||||||
|
test-scm-to-latin1-string$(EXEEXT) test-scm-values$(EXEEXT) \
|
||||||
|
test-scm-c-bind-keyword-arguments$(EXEEXT) \
|
||||||
|
@@ -1876,12 +1877,14 @@ noinst_LTLIBRARIES = $(am__append_1)
|
||||||
|
# test-mb-regexp
|
||||||
|
|
||||||
|
# test-use-srfi
|
||||||
|
+
|
||||||
|
+# test-ja_JP.sjis
|
||||||
|
check_SCRIPTS = test-system-cmds test-bad-identifiers \
|
||||||
|
test-require-extension test-guile-snarf test-import-order \
|
||||||
|
test-command-line-encoding test-command-line-encoding2 \
|
||||||
|
test-language test-guild-compile $(am__append_3) \
|
||||||
|
test-fast-slot-ref test-mb-regexp test-use-srfi \
|
||||||
|
- $(am__append_5)
|
||||||
|
+ test-ja_JP.sjis $(am__append_5)
|
||||||
|
BUILT_SOURCES = $(am__append_2)
|
||||||
|
EXTRA_DIST = test-import-order-a.scm test-import-order-b.scm \
|
||||||
|
test-import-order-c.scm test-import-order-d.scm \
|
552
guile-use-utf8.patch
Normal file
552
guile-use-utf8.patch
Normal file
@ -0,0 +1,552 @@
|
|||||||
|
diff --git a/libguile/debug-malloc.c b/libguile/debug-malloc.c
|
||||||
|
index fa3612de2..4dd2b5d40 100644
|
||||||
|
--- a/libguile/debug-malloc.c
|
||||||
|
+++ b/libguile/debug-malloc.c
|
||||||
|
@@ -221,7 +221,7 @@ SCM_DEFINE (scm_malloc_stats, "malloc-stats", 0, 0, 0,
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < malloc_type_size + N_SEEK; ++i)
|
||||||
|
if (malloc_type[i].key)
|
||||||
|
- res = scm_acons (scm_from_locale_string ((char *) malloc_type[i].key),
|
||||||
|
+ res = scm_acons (scm_from_utf8_string ((char *) malloc_type[i].key),
|
||||||
|
scm_from_int ((int) malloc_type[i].data),
|
||||||
|
res);
|
||||||
|
return res;
|
||||||
|
diff --git a/libguile/deprecation.c b/libguile/deprecation.c
|
||||||
|
index aa50eaf8c..110884ed5 100644
|
||||||
|
--- a/libguile/deprecation.c
|
||||||
|
+++ b/libguile/deprecation.c
|
||||||
|
@@ -117,7 +117,7 @@ SCM_DEFINE(scm_issue_deprecation_warning,
|
||||||
|
print_summary = 1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- SCM nl = scm_from_locale_string ("\n");
|
||||||
|
+ SCM nl = scm_from_utf8_string ("\n");
|
||||||
|
SCM msgs_nl = SCM_EOL;
|
||||||
|
char *c_msgs;
|
||||||
|
while (scm_is_pair (msgs))
|
||||||
|
diff --git a/libguile/error.c b/libguile/error.c
|
||||||
|
index 7971046ce..c9ce0b927 100644
|
||||||
|
--- a/libguile/error.c
|
||||||
|
+++ b/libguile/error.c
|
||||||
|
@@ -58,8 +58,8 @@ scm_error (SCM key, const char *subr, const char *message, SCM args, SCM rest)
|
||||||
|
{
|
||||||
|
scm_error_scm
|
||||||
|
(key,
|
||||||
|
- (subr == NULL) ? SCM_BOOL_F : scm_from_locale_string (subr),
|
||||||
|
- (message == NULL) ? SCM_BOOL_F : scm_from_locale_string (message),
|
||||||
|
+ (subr == NULL) ? SCM_BOOL_F : scm_from_utf8_string (subr),
|
||||||
|
+ (message == NULL) ? SCM_BOOL_F : scm_from_utf8_string (message),
|
||||||
|
args, rest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -239,7 +239,7 @@ scm_error_num_args_subr (const char *subr)
|
||||||
|
scm_error (scm_args_number_key,
|
||||||
|
NULL,
|
||||||
|
"Wrong number of arguments to ~A",
|
||||||
|
- scm_list_1 (scm_from_locale_string (subr)),
|
||||||
|
+ scm_list_1 (scm_from_utf8_string (subr)),
|
||||||
|
SCM_BOOL_F);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -262,8 +262,8 @@ scm_i_wrong_type_arg_symbol (SCM symbol, int pos, SCM bad_value)
|
||||||
|
{
|
||||||
|
scm_error_scm (scm_arg_type_key,
|
||||||
|
scm_symbol_to_string (symbol),
|
||||||
|
- (pos == 0) ? scm_from_locale_string ("Wrong type: ~S")
|
||||||
|
- : scm_from_locale_string ("Wrong type argument in position ~A: ~S"),
|
||||||
|
+ (pos == 0) ? scm_from_utf8_string ("Wrong type: ~S")
|
||||||
|
+ : scm_from_utf8_string ("Wrong type argument in position ~A: ~S"),
|
||||||
|
(pos == 0) ? scm_list_1 (bad_value)
|
||||||
|
: scm_list_2 (scm_from_int (pos), bad_value),
|
||||||
|
scm_list_1 (bad_value));
|
||||||
|
@@ -273,7 +273,7 @@ scm_i_wrong_type_arg_symbol (SCM symbol, int pos, SCM bad_value)
|
||||||
|
void
|
||||||
|
scm_wrong_type_arg_msg (const char *subr, int pos, SCM bad_value, const char *szMessage)
|
||||||
|
{
|
||||||
|
- SCM msg = scm_from_locale_string (szMessage);
|
||||||
|
+ SCM msg = scm_from_utf8_string (szMessage);
|
||||||
|
if (pos == 0)
|
||||||
|
{
|
||||||
|
scm_error (scm_arg_type_key,
|
||||||
|
diff --git a/libguile/eval.c b/libguile/eval.c
|
||||||
|
index 815f7c7a7..f1c80887c 100644
|
||||||
|
--- a/libguile/eval.c
|
||||||
|
+++ b/libguile/eval.c
|
||||||
|
@@ -164,15 +164,15 @@ static void error_used_before_defined (void)
|
||||||
|
|
||||||
|
static void error_invalid_keyword (SCM proc, SCM obj)
|
||||||
|
{
|
||||||
|
- scm_error_scm (scm_from_latin1_symbol ("keyword-argument-error"), proc,
|
||||||
|
- scm_from_locale_string ("Invalid keyword"), SCM_EOL,
|
||||||
|
+ scm_error_scm (scm_from_utf8_symbol ("keyword-argument-error"), proc,
|
||||||
|
+ scm_from_utf8_string ("Invalid keyword"), SCM_EOL,
|
||||||
|
scm_list_1 (obj));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void error_unrecognized_keyword (SCM proc, SCM kw)
|
||||||
|
{
|
||||||
|
- scm_error_scm (scm_from_latin1_symbol ("keyword-argument-error"), proc,
|
||||||
|
- scm_from_locale_string ("Unrecognized keyword"), SCM_EOL,
|
||||||
|
+ scm_error_scm (scm_from_utf8_symbol ("keyword-argument-error"), proc,
|
||||||
|
+ scm_from_utf8_string ("Unrecognized keyword"), SCM_EOL,
|
||||||
|
scm_list_1 (kw));
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -190,9 +190,9 @@ truncate_values (SCM x)
|
||||||
|
return scm_car (l);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- scm_ithrow (scm_from_latin1_symbol ("vm-run"),
|
||||||
|
- scm_list_3 (scm_from_latin1_symbol ("vm-run"),
|
||||||
|
- scm_from_locale_string
|
||||||
|
+ scm_ithrow (scm_from_utf8_symbol ("vm-run"),
|
||||||
|
+ scm_list_3 (scm_from_utf8_symbol ("vm-run"),
|
||||||
|
+ scm_from_utf8_string
|
||||||
|
("Too few values returned to continuation"),
|
||||||
|
SCM_EOL),
|
||||||
|
1);
|
||||||
|
diff --git a/libguile/expand.c b/libguile/expand.c
|
||||||
|
index 546b1e4de..c2d87da0f 100644
|
||||||
|
--- a/libguile/expand.c
|
||||||
|
+++ b/libguile/expand.c
|
||||||
|
@@ -217,7 +217,7 @@ SCM_KEYWORD (kw_rest, "rest");
|
||||||
|
static void
|
||||||
|
syntax_error (const char* const msg, const SCM form, const SCM expr)
|
||||||
|
{
|
||||||
|
- SCM msg_string = scm_from_locale_string (msg);
|
||||||
|
+ SCM msg_string = scm_from_utf8_string (msg);
|
||||||
|
SCM filename = SCM_BOOL_F;
|
||||||
|
SCM linenr = SCM_BOOL_F;
|
||||||
|
const char *format;
|
||||||
|
@@ -470,7 +470,7 @@ expand_cond_clauses (SCM clause, SCM rest, int elp, int alp, SCM env)
|
||||||
|
&& scm_is_eq (CADR (clause), scm_sym_arrow)
|
||||||
|
&& alp)
|
||||||
|
{
|
||||||
|
- SCM tmp = scm_gensym (scm_from_locale_string ("cond "));
|
||||||
|
+ SCM tmp = scm_gensym (scm_from_utf8_string ("cond "));
|
||||||
|
SCM new_env = scm_acons (tmp, tmp, env);
|
||||||
|
ASSERT_SYNTAX (length > 2, s_missing_recipient, clause);
|
||||||
|
ASSERT_SYNTAX (length == 3, s_extra_expression, clause);
|
||||||
|
@@ -1203,7 +1203,7 @@ make_exp_vtable (size_t n)
|
||||||
|
|
||||||
|
layout = scm_string_to_symbol
|
||||||
|
(scm_string_append (scm_make_list (scm_from_size_t (exp_nfields[n]),
|
||||||
|
- scm_from_locale_string ("pw"))));
|
||||||
|
+ scm_from_utf8_string ("pw"))));
|
||||||
|
printer = SCM_BOOL_F;
|
||||||
|
name = scm_from_locale_symbol (exp_names[n]);
|
||||||
|
code = scm_from_size_t (n);
|
||||||
|
@@ -1245,7 +1245,7 @@ scm_init_expand ()
|
||||||
|
DEFINE_NAMES (DYNLET);
|
||||||
|
|
||||||
|
scm_exp_vtable_vtable =
|
||||||
|
- scm_make_vtable (scm_from_locale_string (SCM_VTABLE_BASE_LAYOUT "pwuwpw"),
|
||||||
|
+ scm_make_vtable (scm_from_utf8_string (SCM_VTABLE_BASE_LAYOUT "pwuwpw"),
|
||||||
|
SCM_BOOL_F);
|
||||||
|
|
||||||
|
for (n = 0; n < SCM_NUM_EXPANDED_TYPES; n++)
|
||||||
|
diff --git a/libguile/extensions.c b/libguile/extensions.c
|
||||||
|
index 1c3d28f4a..2a649107c 100644
|
||||||
|
--- a/libguile/extensions.c
|
||||||
|
+++ b/libguile/extensions.c
|
||||||
|
@@ -90,9 +90,9 @@ load_extension (SCM lib, SCM init)
|
||||||
|
|
||||||
|
scm_dynwind_begin (0);
|
||||||
|
|
||||||
|
- clib = scm_to_locale_string (lib);
|
||||||
|
+ clib = scm_to_utf8_string (lib);
|
||||||
|
scm_dynwind_free (clib);
|
||||||
|
- cinit = scm_to_locale_string (init);
|
||||||
|
+ cinit = scm_to_utf8_string (init);
|
||||||
|
scm_dynwind_free (cinit);
|
||||||
|
|
||||||
|
for (ext = head; ext; ext = ext->next)
|
||||||
|
@@ -123,7 +123,7 @@ load_extension (SCM lib, SCM init)
|
||||||
|
void
|
||||||
|
scm_c_load_extension (const char *lib, const char *init)
|
||||||
|
{
|
||||||
|
- load_extension (scm_from_locale_string (lib), scm_from_locale_string (init));
|
||||||
|
+ load_extension (scm_from_utf8_string (lib), scm_from_utf8_string (init));
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM_DEFINE (scm_load_extension, "load-extension", 2, 0, 0,
|
||||||
|
diff --git a/libguile/filesys.c b/libguile/filesys.c
|
||||||
|
index e6e37b040..3407a47ff 100644
|
||||||
|
--- a/libguile/filesys.c
|
||||||
|
+++ b/libguile/filesys.c
|
||||||
|
@@ -1923,7 +1923,7 @@ scm_init_filesys ()
|
||||||
|
scm_c_define ("X_OK", scm_from_int (X_OK));
|
||||||
|
scm_c_define ("F_OK", scm_from_int (F_OK));
|
||||||
|
|
||||||
|
- scm_dot_string = scm_from_locale_string (".");
|
||||||
|
+ scm_dot_string = scm_from_utf8_string (".");
|
||||||
|
|
||||||
|
#include "libguile/filesys.x"
|
||||||
|
}
|
||||||
|
diff --git a/libguile/init.c b/libguile/init.c
|
||||||
|
index adab2b5d6..2f930f5f8 100644
|
||||||
|
--- a/libguile/init.c
|
||||||
|
+++ b/libguile/init.c
|
||||||
|
@@ -242,7 +242,7 @@ scm_load_startup_files ()
|
||||||
|
SCM_SITE_DIR and SCM_LIBRARY_DIR when searching for the site init
|
||||||
|
file, so we do this before loading Ice-9. */
|
||||||
|
SCM init_path =
|
||||||
|
- scm_sys_search_load_path (scm_from_locale_string ("init.scm"));
|
||||||
|
+ scm_sys_search_load_path (scm_from_utf8_string ("init.scm"));
|
||||||
|
|
||||||
|
/* Load Ice-9. */
|
||||||
|
if (!scm_ice_9_already_loaded)
|
||||||
|
diff --git a/libguile/load.c b/libguile/load.c
|
||||||
|
index c2ee5093a..27389fe3e 100644
|
||||||
|
--- a/libguile/load.c
|
||||||
|
+++ b/libguile/load.c
|
||||||
|
@@ -148,7 +148,7 @@ SCM_DEFINE (scm_sys_package_data_dir, "%package-data-dir", 0, 0, 0,
|
||||||
|
"@samp{/usr/local/share/guile}.")
|
||||||
|
#define FUNC_NAME s_scm_sys_package_data_dir
|
||||||
|
{
|
||||||
|
- return scm_from_locale_string (SCM_PKGDATA_DIR);
|
||||||
|
+ return scm_from_utf8_string (SCM_PKGDATA_DIR);
|
||||||
|
}
|
||||||
|
#undef FUNC_NAME
|
||||||
|
#endif /* SCM_PKGDATA_DIR */
|
||||||
|
@@ -160,7 +160,7 @@ SCM_DEFINE (scm_sys_library_dir, "%library-dir", 0,0,0,
|
||||||
|
"E.g., may return \"/usr/share/guile/1.3.5\".")
|
||||||
|
#define FUNC_NAME s_scm_sys_library_dir
|
||||||
|
{
|
||||||
|
- return scm_from_locale_string (SCM_LIBRARY_DIR);
|
||||||
|
+ return scm_from_utf8_string (SCM_LIBRARY_DIR);
|
||||||
|
}
|
||||||
|
#undef FUNC_NAME
|
||||||
|
#endif /* SCM_LIBRARY_DIR */
|
||||||
|
@@ -186,7 +186,7 @@ SCM_DEFINE (scm_sys_global_site_dir, "%global-site-dir", 0,0,0,
|
||||||
|
"E.g., may return \"/usr/share/guile/site\".")
|
||||||
|
#define FUNC_NAME s_scm_sys_global_site_dir
|
||||||
|
{
|
||||||
|
- return scm_from_locale_string (SCM_GLOBAL_SITE_DIR);
|
||||||
|
+ return scm_from_utf8_string (SCM_GLOBAL_SITE_DIR);
|
||||||
|
}
|
||||||
|
#undef FUNC_NAME
|
||||||
|
#endif /* SCM_GLOBAL_SITE_DIR */
|
||||||
|
@@ -199,7 +199,7 @@ SCM_DEFINE (scm_sys_site_ccache_dir, "%site-ccache-dir", 0,0,0,
|
||||||
|
"E.g., may return \"/usr/lib/guile/" SCM_EFFECTIVE_VERSION "/site-ccache\".")
|
||||||
|
#define FUNC_NAME s_scm_sys_site_ccache_dir
|
||||||
|
{
|
||||||
|
- return scm_from_locale_string (SCM_SITE_CCACHE_DIR);
|
||||||
|
+ return scm_from_utf8_string (SCM_SITE_CCACHE_DIR);
|
||||||
|
}
|
||||||
|
#undef FUNC_NAME
|
||||||
|
#endif /* SCM_SITE_CCACHE_DIR */
|
||||||
|
@@ -304,6 +304,9 @@ scm_i_mirror_backslashes (char *path)
|
||||||
|
|
||||||
|
while (*p)
|
||||||
|
{
|
||||||
|
+ /* FIXME: When the locale encoding is Shift_JIS, backslash '\'
|
||||||
|
+ has a multibyte representation, so this code will
|
||||||
|
+ misbehave. */
|
||||||
|
if (*p == '\\')
|
||||||
|
*p = '/';
|
||||||
|
p++;
|
||||||
|
@@ -333,10 +336,10 @@ scm_init_load_path ()
|
||||||
|
else if (env)
|
||||||
|
path = scm_parse_path (scm_from_locale_string (env), path);
|
||||||
|
else
|
||||||
|
- path = scm_list_4 (scm_from_locale_string (SCM_LIBRARY_DIR),
|
||||||
|
- scm_from_locale_string (SCM_SITE_DIR),
|
||||||
|
- scm_from_locale_string (SCM_GLOBAL_SITE_DIR),
|
||||||
|
- scm_from_locale_string (SCM_PKGDATA_DIR));
|
||||||
|
+ path = scm_list_4 (scm_from_utf8_string (SCM_LIBRARY_DIR),
|
||||||
|
+ scm_from_utf8_string (SCM_SITE_DIR),
|
||||||
|
+ scm_from_utf8_string (SCM_GLOBAL_SITE_DIR),
|
||||||
|
+ scm_from_utf8_string (SCM_PKGDATA_DIR));
|
||||||
|
|
||||||
|
env = scm_i_mirror_backslashes (getenv ("GUILE_SYSTEM_COMPILED_PATH"));
|
||||||
|
if (env && strcmp (env, "") == 0)
|
||||||
|
@@ -346,8 +349,8 @@ scm_init_load_path ()
|
||||||
|
cpath = scm_parse_path (scm_from_locale_string (env), cpath);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- cpath = scm_list_2 (scm_from_locale_string (SCM_CCACHE_DIR),
|
||||||
|
- scm_from_locale_string (SCM_SITE_CCACHE_DIR));
|
||||||
|
+ cpath = scm_list_2 (scm_from_utf8_string (SCM_CCACHE_DIR),
|
||||||
|
+ scm_from_utf8_string (SCM_SITE_CCACHE_DIR));
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SCM_LIBRARY_DIR */
|
||||||
|
@@ -954,7 +957,7 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 0, 1,
|
||||||
|
{
|
||||||
|
require_exts = SCM_CADR (rest);
|
||||||
|
if (SCM_UNLIKELY (!scm_is_null (SCM_CDDR (rest))))
|
||||||
|
- scm_wrong_num_args (scm_from_locale_string (FUNC_NAME));
|
||||||
|
+ scm_wrong_num_args (scm_from_utf8_string (FUNC_NAME));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -1280,10 +1283,10 @@ scm_init_eval_in_scheme (void)
|
||||||
|
int found_stale_eval_go = 0;
|
||||||
|
|
||||||
|
eval_scm = search_path (*scm_loc_load_path,
|
||||||
|
- scm_from_locale_string ("ice-9/eval.scm"),
|
||||||
|
+ scm_from_utf8_string ("ice-9/eval.scm"),
|
||||||
|
SCM_EOL, SCM_BOOL_F, &stat_source);
|
||||||
|
eval_thunk =
|
||||||
|
- load_thunk_from_path (scm_from_locale_string ("ice-9/eval.go"),
|
||||||
|
+ load_thunk_from_path (scm_from_utf8_string ("ice-9/eval.go"),
|
||||||
|
eval_scm, &stat_source, &found_stale_eval_go);
|
||||||
|
|
||||||
|
if (scm_is_true (eval_thunk))
|
||||||
|
@@ -1340,13 +1343,13 @@ scm_init_load ()
|
||||||
|
scm_loc_load_path = SCM_VARIABLE_LOC (scm_c_define ("%load-path", SCM_EOL));
|
||||||
|
scm_loc_load_extensions
|
||||||
|
= SCM_VARIABLE_LOC (scm_c_define ("%load-extensions",
|
||||||
|
- scm_list_2 (scm_from_locale_string (".scm"),
|
||||||
|
+ scm_list_2 (scm_from_utf8_string (".scm"),
|
||||||
|
scm_nullstr)));
|
||||||
|
scm_loc_load_compiled_path
|
||||||
|
= SCM_VARIABLE_LOC (scm_c_define ("%load-compiled-path", SCM_EOL));
|
||||||
|
scm_loc_load_compiled_extensions
|
||||||
|
= SCM_VARIABLE_LOC (scm_c_define ("%load-compiled-extensions",
|
||||||
|
- scm_list_1 (scm_from_locale_string (".go"))));
|
||||||
|
+ scm_list_1 (scm_from_utf8_string (".go"))));
|
||||||
|
scm_loc_load_hook = SCM_VARIABLE_LOC (scm_c_define ("%load-hook", SCM_BOOL_F));
|
||||||
|
|
||||||
|
scm_loc_compile_fallback_path
|
||||||
|
diff --git a/libguile/modules.c b/libguile/modules.c
|
||||||
|
index 7b42a3d43..fb8c9f61c 100644
|
||||||
|
--- a/libguile/modules.c
|
||||||
|
+++ b/libguile/modules.c
|
||||||
|
@@ -893,7 +893,7 @@ scm_post_boot_init_modules ()
|
||||||
|
default_duplicate_binding_procedures_var =
|
||||||
|
scm_c_lookup ("default-duplicate-binding-procedures");
|
||||||
|
module_public_interface_var = scm_c_lookup ("module-public-interface");
|
||||||
|
- k_ensure = scm_from_locale_keyword ("ensure");
|
||||||
|
+ k_ensure = scm_from_utf8_keyword ("ensure");
|
||||||
|
|
||||||
|
scm_module_system_booted_p = 1;
|
||||||
|
}
|
||||||
|
diff --git a/libguile/pairs.c b/libguile/pairs.c
|
||||||
|
index 7d7e68c4f..ca7098fec 100644
|
||||||
|
--- a/libguile/pairs.c
|
||||||
|
+++ b/libguile/pairs.c
|
||||||
|
@@ -55,7 +55,7 @@ verify (SCM_BITS_DIFFER_IN_EXACTLY_ONE_BIT_POSITION \
|
||||||
|
void scm_error_pair_access (SCM non_pair)
|
||||||
|
{
|
||||||
|
static unsigned int running = 0;
|
||||||
|
- SCM message = scm_from_locale_string ("Non-pair accessed with SCM_C[AD]R: `~S'\n");
|
||||||
|
+ SCM message = scm_from_utf8_string ("Non-pair accessed with SCM_C[AD]R: `~S'\n");
|
||||||
|
|
||||||
|
if (!running)
|
||||||
|
{
|
||||||
|
diff --git a/libguile/posix.c b/libguile/posix.c
|
||||||
|
index 1443a9ead..c5e1a2867 100644
|
||||||
|
--- a/libguile/posix.c
|
||||||
|
+++ b/libguile/posix.c
|
||||||
|
@@ -370,11 +370,11 @@ SCM_DEFINE (scm_getpwuid, "getpw", 0, 1, 0,
|
||||||
|
SCM_SIMPLE_VECTOR_SET(result, 3, scm_from_ulong (entry->pw_gid));
|
||||||
|
SCM_SIMPLE_VECTOR_SET(result, 4, scm_from_locale_string (entry->pw_gecos));
|
||||||
|
if (!entry->pw_dir)
|
||||||
|
- SCM_SIMPLE_VECTOR_SET(result, 5, scm_from_locale_string (""));
|
||||||
|
+ SCM_SIMPLE_VECTOR_SET(result, 5, scm_from_utf8_string (""));
|
||||||
|
else
|
||||||
|
SCM_SIMPLE_VECTOR_SET(result, 5, scm_from_locale_string (entry->pw_dir));
|
||||||
|
if (!entry->pw_shell)
|
||||||
|
- SCM_SIMPLE_VECTOR_SET(result, 6, scm_from_locale_string (""));
|
||||||
|
+ SCM_SIMPLE_VECTOR_SET(result, 6, scm_from_utf8_string (""));
|
||||||
|
else
|
||||||
|
SCM_SIMPLE_VECTOR_SET(result, 6, scm_from_locale_string (entry->pw_shell));
|
||||||
|
return result;
|
||||||
|
diff --git a/libguile/print.c b/libguile/print.c
|
||||||
|
index a5b2a845b..5201b63f8 100644
|
||||||
|
--- a/libguile/print.c
|
||||||
|
+++ b/libguile/print.c
|
||||||
|
@@ -1681,9 +1681,9 @@ scm_init_print ()
|
||||||
|
|
||||||
|
scm_gc_register_root (&print_state_pool);
|
||||||
|
scm_gc_register_root (&scm_print_state_vtable);
|
||||||
|
- type = scm_make_vtable (scm_from_locale_string (SCM_PRINT_STATE_LAYOUT),
|
||||||
|
+ type = scm_make_vtable (scm_from_utf8_string (SCM_PRINT_STATE_LAYOUT),
|
||||||
|
SCM_BOOL_F);
|
||||||
|
- scm_set_struct_vtable_name_x (type, scm_from_latin1_symbol ("print-state"));
|
||||||
|
+ scm_set_struct_vtable_name_x (type, scm_from_utf8_symbol ("print-state"));
|
||||||
|
scm_print_state_vtable = type;
|
||||||
|
|
||||||
|
/* Don't want to bind a wrapper class in GOOPS, so pass 0 as arg1. */
|
||||||
|
@@ -1694,9 +1694,9 @@ scm_init_print ()
|
||||||
|
|
||||||
|
scm_init_opts (scm_print_options, scm_print_opts);
|
||||||
|
scm_print_opts[SCM_PRINT_HIGHLIGHT_PREFIX_I].val =
|
||||||
|
- SCM_UNPACK (scm_from_locale_string ("{"));
|
||||||
|
+ SCM_UNPACK (scm_from_utf8_string ("{"));
|
||||||
|
scm_print_opts[SCM_PRINT_HIGHLIGHT_SUFFIX_I].val =
|
||||||
|
- SCM_UNPACK (scm_from_locale_string ("}"));
|
||||||
|
+ SCM_UNPACK (scm_from_utf8_string ("}"));
|
||||||
|
scm_print_opts[SCM_PRINT_KEYWORD_STYLE_I].val = SCM_UNPACK (sym_reader);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/libguile/random.c b/libguile/random.c
|
||||||
|
index 4051d1f34..e63b3de83 100644
|
||||||
|
--- a/libguile/random.c
|
||||||
|
+++ b/libguile/random.c
|
||||||
|
@@ -374,7 +374,10 @@ make_rstate (scm_t_rstate *state)
|
||||||
|
* Scheme level interface.
|
||||||
|
*/
|
||||||
|
|
||||||
|
-SCM_GLOBAL_VARIABLE_INIT (scm_var_random_state, "*random-state*", scm_seed_to_random_state (scm_from_locale_string ("URL:http://stat.fsu.edu/~geo/diehard.html")));
|
||||||
|
+SCM_GLOBAL_VARIABLE_INIT (scm_var_random_state, "*random-state*",
|
||||||
|
+ scm_seed_to_random_state
|
||||||
|
+ (scm_from_utf8_string
|
||||||
|
+ ("URL:http://stat.fsu.edu/~geo/diehard.html")));
|
||||||
|
|
||||||
|
SCM_DEFINE (scm_random, "random", 1, 1, 0,
|
||||||
|
(SCM n, SCM state),
|
||||||
|
diff --git a/libguile/read.c b/libguile/read.c
|
||||||
|
index 136e74819..aa05509fc 100644
|
||||||
|
--- a/libguile/read.c
|
||||||
|
+++ b/libguile/read.c
|
||||||
|
@@ -142,21 +142,21 @@ scm_i_input_error (char const *function,
|
||||||
|
{
|
||||||
|
SCM fn = (scm_is_string (SCM_FILENAME(port))
|
||||||
|
? SCM_FILENAME(port)
|
||||||
|
- : scm_from_locale_string ("#<unknown port>"));
|
||||||
|
+ : scm_from_utf8_string ("#<unknown port>"));
|
||||||
|
|
||||||
|
SCM string_port = scm_open_output_string ();
|
||||||
|
SCM string = SCM_EOL;
|
||||||
|
scm_simple_format (string_port,
|
||||||
|
- scm_from_locale_string ("~A:~S:~S: ~A"),
|
||||||
|
+ scm_from_utf8_string ("~A:~S:~S: ~A"),
|
||||||
|
scm_list_4 (fn,
|
||||||
|
scm_from_long (SCM_LINUM (port) + 1),
|
||||||
|
scm_from_int (SCM_COL (port) + 1),
|
||||||
|
- scm_from_locale_string (message)));
|
||||||
|
+ scm_from_utf8_string (message)));
|
||||||
|
|
||||||
|
string = scm_get_output_string (string_port);
|
||||||
|
scm_close_output_port (string_port);
|
||||||
|
- scm_error_scm (scm_from_latin1_symbol ("read-error"),
|
||||||
|
- function? scm_from_locale_string (function) : SCM_BOOL_F,
|
||||||
|
+ scm_error_scm (scm_from_utf8_symbol ("read-error"),
|
||||||
|
+ function? scm_from_utf8_string (function) : SCM_BOOL_F,
|
||||||
|
string,
|
||||||
|
arg,
|
||||||
|
SCM_BOOL_F);
|
||||||
|
@@ -2226,7 +2226,10 @@ SCM_DEFINE (scm_file_encoding, "file-encoding", 1, 0, 0,
|
||||||
|
return SCM_BOOL_F;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- s_enc = scm_from_locale_string (enc);
|
||||||
|
+ /* It's not obvious what encoding to use here, but latin1 has the
|
||||||
|
+ advantage of never causing a decoding error, and a valid
|
||||||
|
+ encoding name should be ASCII anyway. */
|
||||||
|
+ s_enc = scm_from_latin1_string (enc);
|
||||||
|
return s_enc;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/libguile/regex-posix.c b/libguile/regex-posix.c
|
||||||
|
index bec0f89fb..3750e1597 100644
|
||||||
|
--- a/libguile/regex-posix.c
|
||||||
|
+++ b/libguile/regex-posix.c
|
||||||
|
@@ -173,7 +173,7 @@ SCM_DEFINE (scm_make_regexp, "make-regexp", 1, 0, 1,
|
||||||
|
SCM errmsg = scm_regexp_error_msg (status, rx);
|
||||||
|
scm_gc_free (rx, sizeof(regex_t), "regex");
|
||||||
|
scm_error_scm (scm_regexp_error_key,
|
||||||
|
- scm_from_locale_string (FUNC_NAME),
|
||||||
|
+ scm_from_utf8_string (FUNC_NAME),
|
||||||
|
errmsg,
|
||||||
|
SCM_BOOL_F,
|
||||||
|
scm_list_1 (pat));
|
||||||
|
@@ -315,7 +315,7 @@ SCM_DEFINE (scm_regexp_exec, "regexp-exec", 2, 2, 0,
|
||||||
|
|
||||||
|
if (status != 0 && status != REG_NOMATCH)
|
||||||
|
scm_error_scm (scm_regexp_error_key,
|
||||||
|
- scm_from_locale_string (FUNC_NAME),
|
||||||
|
+ scm_from_utf8_string (FUNC_NAME),
|
||||||
|
scm_regexp_error_msg (status, SCM_RGX (rx)),
|
||||||
|
SCM_BOOL_F, SCM_BOOL_F);
|
||||||
|
return mvec;
|
||||||
|
diff --git a/libguile/snarf.h b/libguile/snarf.h
|
||||||
|
index 1655e2c8d..42378a775 100644
|
||||||
|
--- a/libguile/snarf.h
|
||||||
|
+++ b/libguile/snarf.h
|
||||||
|
@@ -219,11 +219,11 @@ SCM_SNARF_INIT(c_name = scm_from_locale_symbol (scheme_name))
|
||||||
|
|
||||||
|
#define SCM_KEYWORD(c_name, scheme_name) \
|
||||||
|
SCM_SNARF_HERE(static SCM c_name) \
|
||||||
|
-SCM_SNARF_INIT(c_name = scm_from_locale_keyword (scheme_name))
|
||||||
|
+SCM_SNARF_INIT(c_name = scm_from_utf8_keyword (scheme_name))
|
||||||
|
|
||||||
|
#define SCM_GLOBAL_KEYWORD(c_name, scheme_name) \
|
||||||
|
SCM_SNARF_HERE(SCM c_name) \
|
||||||
|
-SCM_SNARF_INIT(c_name = scm_from_locale_keyword (scheme_name))
|
||||||
|
+SCM_SNARF_INIT(c_name = scm_from_utf8_keyword (scheme_name))
|
||||||
|
|
||||||
|
#define SCM_VARIABLE(c_name, scheme_name) \
|
||||||
|
SCM_SNARF_HERE(static SCM c_name) \
|
||||||
|
diff --git a/libguile/srfi-13.c b/libguile/srfi-13.c
|
||||||
|
index 5c30dfe20..1c065194f 100644
|
||||||
|
--- a/libguile/srfi-13.c
|
||||||
|
+++ b/libguile/srfi-13.c
|
||||||
|
@@ -405,7 +405,7 @@ SCM_DEFINE (scm_string_join, "string-join", 1, 2, 0,
|
||||||
|
/* Validate the delimiter and record its length. */
|
||||||
|
if (SCM_UNBNDP (delimiter))
|
||||||
|
{
|
||||||
|
- delimiter = scm_from_locale_string (" ");
|
||||||
|
+ delimiter = scm_from_utf8_string (" ");
|
||||||
|
delimiter_len = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
diff --git a/libguile/stacks.c b/libguile/stacks.c
|
||||||
|
index 37a9161cd..439a97d21 100644
|
||||||
|
--- a/libguile/stacks.c
|
||||||
|
+++ b/libguile/stacks.c
|
||||||
|
@@ -388,10 +388,10 @@ scm_init_stacks ()
|
||||||
|
scm_sys_stacks = scm_make_fluid ();
|
||||||
|
scm_c_define ("%stacks", scm_sys_stacks);
|
||||||
|
|
||||||
|
- scm_stack_type = scm_make_vtable (scm_from_locale_string (SCM_STACK_LAYOUT),
|
||||||
|
+ scm_stack_type = scm_make_vtable (scm_from_utf8_string (SCM_STACK_LAYOUT),
|
||||||
|
SCM_UNDEFINED);
|
||||||
|
scm_set_struct_vtable_name_x (scm_stack_type,
|
||||||
|
- scm_from_latin1_symbol ("stack"));
|
||||||
|
+ scm_from_utf8_symbol ("stack"));
|
||||||
|
#include "libguile/stacks.x"
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/libguile/stime.c b/libguile/stime.c
|
||||||
|
index a5421d716..21ed6905f 100644
|
||||||
|
--- a/libguile/stime.c
|
||||||
|
+++ b/libguile/stime.c
|
||||||
|
@@ -695,7 +695,7 @@ SCM_DEFINE (scm_strftime, "strftime", 2, 0, 0,
|
||||||
|
some OSs, e.g., Solaris. */
|
||||||
|
SCM zone =
|
||||||
|
scm_string_append (scm_list_2 (zone_spec,
|
||||||
|
- scm_from_locale_string ("0")));
|
||||||
|
+ scm_from_utf8_string ("0")));
|
||||||
|
|
||||||
|
have_zone = 1;
|
||||||
|
SCM_CRITICAL_SECTION_START;
|
||||||
|
diff --git a/libguile/strports.c b/libguile/strports.c
|
||||||
|
index 18f1970b5..d8dc461d5 100644
|
||||||
|
--- a/libguile/strports.c
|
||||||
|
+++ b/libguile/strports.c
|
||||||
|
@@ -544,7 +544,7 @@ static void
|
||||||
|
init_eval_string_var_and_k_module (void)
|
||||||
|
{
|
||||||
|
eval_string_var = scm_c_public_variable ("ice-9 eval-string", "eval-string");
|
||||||
|
- k_module = scm_from_locale_keyword ("module");
|
||||||
|
+ k_module = scm_from_utf8_keyword ("module");
|
||||||
|
}
|
||||||
|
|
||||||
|
SCM_DEFINE (scm_eval_string_in_module, "eval-string", 1, 1, 0,
|
||||||
|
diff --git a/libguile/values.c b/libguile/values.c
|
||||||
|
index ef27cadd1..82a784fe1 100644
|
||||||
|
--- a/libguile/values.c
|
||||||
|
+++ b/libguile/values.c
|
||||||
|
@@ -142,7 +142,7 @@ scm_init_values (void)
|
||||||
|
{
|
||||||
|
SCM print = scm_c_define_gsubr ("%print-values", 2, 0, 0, print_values);
|
||||||
|
|
||||||
|
- scm_values_vtable = scm_make_vtable (scm_from_locale_string ("pr"), print);
|
||||||
|
+ scm_values_vtable = scm_make_vtable (scm_from_utf8_string ("pr"), print);
|
||||||
|
|
||||||
|
scm_add_feature ("values");
|
||||||
|
|
@ -1,3 +1,14 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Oct 21 17:56:40 UTC 2018 - psimons@suse.com
|
||||||
|
|
||||||
|
- Apply guile-use-utf8.patch to fix use of the "ja_JP.sjis" locale.
|
||||||
|
[bsc#1110085]
|
||||||
|
|
||||||
|
- Apply guile-add-test-ja_JP.sjis.patch to add standalone test that
|
||||||
|
verifies the "ja_JP.sjis" locale works properly. Further details
|
||||||
|
at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=33044#43.
|
||||||
|
[bsc#1110085]
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Feb 28 14:51:38 UTC 2018 - tchvatal@suse.com
|
Wed Feb 28 14:51:38 UTC 2018 - tchvatal@suse.com
|
||||||
|
|
||||||
|
@ -42,6 +42,8 @@ Patch3: guile-threads-test.patch
|
|||||||
Patch4: guile-net-db-test.patch
|
Patch4: guile-net-db-test.patch
|
||||||
Patch5: guile-2.0.14-gc_pkgconfig_private.patch
|
Patch5: guile-2.0.14-gc_pkgconfig_private.patch
|
||||||
Patch6: guile-disable-int-tests.patch
|
Patch6: guile-disable-int-tests.patch
|
||||||
|
Patch7: guile-add-test-ja_JP.sjis.patch
|
||||||
|
Patch8: guile-use-utf8.patch
|
||||||
BuildRequires: gmp-devel
|
BuildRequires: gmp-devel
|
||||||
BuildRequires: libffi-devel
|
BuildRequires: libffi-devel
|
||||||
BuildRequires: libltdl-devel
|
BuildRequires: libltdl-devel
|
||||||
@ -123,6 +125,9 @@ linked in as a library when building extensible programs.
|
|||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
|
%patch7 -p1
|
||||||
|
chmod +x test-suite/standalone/test-ja_JP.sjis
|
||||||
|
%patch8 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure \
|
%configure \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user