mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals.
Partial fix for <https://bugs.gnu.org/33044>. Reported by Tom de Vries <tdevries@suse.de>. Fix several instances of the mistake of using 'scm_from_locale_*' for C strings that originally came from a C string literal. Change several uses of 'scm_from_latin1_*' as well, to promote the practice of writing code that works for arbitrary C string literals. Also add missing years to the copyright notices of changed files, based on the git history. * libguile/debug-malloc.c, libguile/deprecation.c, libguile/error.c, libguile/eval.c, libguile/expand.c, libguile/extensions.c, libguile/filesys.c, libguile/init.c, libguile/load.c, libguile/modules.c, libguile/pairs.c, libguile/posix.c, libguile/print.c, libguile/random.c, libguile/read.c, libguile/regex-posix.c, libguile/snarf.h, libguile/srfi-13.c, libguile/stacks.c, libguile/stime.c, libguile/strports.c, libguile/values.c: Use 'scm_from_utf8_*' where appropriate.
This commit is contained in:
parent
a47a5e6828
commit
3ae69f3063
23 changed files with 96 additions and 91 deletions
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 2000,2006,2008,2018
|
||||
/* Copyright 2000-2002,2004,2006,2008-2009,2018-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -224,7 +224,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;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 2001,2006,2010-2011,2018
|
||||
/* Copyright 2001,2005-2006,2009-2012,2016,2018-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -115,7 +115,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))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-1998,2000-2001,2004,2006,2010,2012-2014,2018
|
||||
/* Copyright 1995-1998,2000-2001,2004,2006,2010,2012-2016,2018-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -61,8 +61,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);
|
||||
}
|
||||
|
||||
|
@ -235,7 +235,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);
|
||||
}
|
||||
|
||||
|
@ -258,8 +258,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));
|
||||
|
@ -269,7 +269,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,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-1996,1997-2014,2018
|
||||
/* Copyright 1995-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -201,22 +201,22 @@ env_set (SCM env, int depth, int width, SCM val)
|
|||
|
||||
static void error_missing_value (SCM proc, SCM kw)
|
||||
{
|
||||
scm_error_scm (scm_from_latin1_symbol ("keyword-argument-error"), proc,
|
||||
scm_from_locale_string ("Keyword argument has no value"), SCM_EOL,
|
||||
scm_error_scm (scm_from_utf8_symbol ("keyword-argument-error"), proc,
|
||||
scm_from_utf8_string ("Keyword argument has no value"), SCM_EOL,
|
||||
scm_list_1 (kw));
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
|
||||
|
@ -233,9 +233,9 @@ truncate_values (SCM x)
|
|||
return scm_i_value_ref (x, 0);
|
||||
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);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-1996,1997-2014,2018
|
||||
/* Copyright 1995-2014,2016,2018-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -224,7 +224,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;
|
||||
|
@ -487,7 +487,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);
|
||||
|
@ -1596,7 +1596,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_utf8_symbol (exp_names[n]);
|
||||
code = scm_from_size_t (n);
|
||||
|
@ -1638,7 +1638,7 @@ scm_init_expand ()
|
|||
DEFINE_NAMES (LETREC);
|
||||
|
||||
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++)
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
/* extensions.c - registering and loading extensions.
|
||||
|
||||
Copyright 2001,2006,2009-2011,2018
|
||||
/* Copyright 2001,2002,2004,2006,2009-2011,2018-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -93,9 +91,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)
|
||||
|
@ -126,7 +124,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,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1996-2002,2004,2006,2009-2014,2016-2018
|
||||
/* Copyright 1996-2002,2004,2006,2009-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -1951,7 +1951,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 "filesys.x"
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-2004,2006,2009-2014,2018
|
||||
/* Copyright 1995-2004,2006,2009-2014,2016-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -244,7 +244,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)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef SCM_KEYWORDS_H
|
||||
#define SCM_KEYWORDS_H
|
||||
|
||||
/* Copyright 1995-1996,1999-2001,2006,2008,2015,2018
|
||||
/* Copyright 1995-1996,1999-2001,2006,2008,2015,2018-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -42,11 +42,11 @@ SCM_API SCM scm_from_utf8_keyword (const char *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))
|
||||
|
||||
enum scm_keyword_arguments_flags
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-1996,1998-2001,2004,2006,2008-2014,2017-2018
|
||||
/* Copyright 1995-1996,1998-2001,2004,2006,2008-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -154,7 +154,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 */
|
||||
|
@ -166,7 +166,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 */
|
||||
|
@ -192,7 +192,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 */
|
||||
|
@ -205,7 +205,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 */
|
||||
|
@ -310,6 +310,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++;
|
||||
|
@ -339,10 +342,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)
|
||||
|
@ -352,8 +355,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))
|
||||
|
@ -1341,13 +1344,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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1998,2000-2004,2006-2012,2017-2018
|
||||
/* Copyright 1998,2000-2004,2006-2012,2017-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -920,7 +920,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;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-1996,2000-2001,2004-2006,2008-2009,2011-2013,2018
|
||||
/* Copyright 1995-1996,2000-2001,2004-2006,2008-2013,2017-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -376,11 +376,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;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-2004,2006,2008,2009-2015,2017-2018
|
||||
/* Copyright 1995-2004,2006,2008-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -1313,9 +1313,9 @@ scm_init_print ()
|
|||
{
|
||||
SCM type;
|
||||
|
||||
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. */
|
||||
|
@ -1326,8 +1326,8 @@ 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);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1999-2001,2003,2005-2006,2009-2010,2012-2014,2017-2018
|
||||
/* Copyright 1999-2001,2003,2005-2006,2009-2010,2012-2014,2017-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -381,7 +381,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),
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-1997,1999-2001,2003-2004,2006-2012,2014-2015,2018
|
||||
/* Copyright 1995-1997,1999-2001,2003-2004,2006-2012,2014-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -150,21 +150,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_sum (scm_port_line (port), SCM_INUM1),
|
||||
scm_sum (scm_port_column (port), SCM_INUM1),
|
||||
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);
|
||||
|
@ -2219,7 +2219,10 @@ SCM_DEFINE (scm_file_encoding, "file-encoding", 1, 0, 0,
|
|||
return SCM_BOOL_F;
|
||||
else
|
||||
{
|
||||
s_enc = scm_string_upcase (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_string_upcase (scm_from_latin1_string (enc));
|
||||
return s_enc;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1997-2001,2004,2006-2007,2010-2012,2018
|
||||
/* Copyright 1997-2001,2004,2006-2007,2010-2012,2018-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -176,7 +176,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));
|
||||
|
@ -307,7 +307,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;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef SCM_SNARF_H
|
||||
#define SCM_SNARF_H
|
||||
|
||||
/* Copyright 1995-2004,2006,2009-2011,2013-2014,2018
|
||||
/* Copyright 1995-2004,2006,2009-2011,2013-2014,2017-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
/* srfi-13.c --- SRFI-13 procedures for Guile
|
||||
|
||||
Copyright 2001,2004-2006,2008-2012,2018
|
||||
/* Copyright 2001,2004-2006,2008-2013,2017-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -415,7 +413,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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1996-1997,2000-2001,2006-2014,2017-2018
|
||||
/* Copyright 1996-1997,2000-2001,2006-2015,2017-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -469,9 +469,9 @@ scm_init_stacks ()
|
|||
scm_sys_stacks = scm_make_thread_local_fluid (SCM_BOOL_F);
|
||||
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 "stacks.x"
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995-2001,2003-2009,2011,2013-2014,2018
|
||||
/* Copyright 1995-2001,2003-2009,2011,2013-2014,2016-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -698,7 +698,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_pthread_mutex_lock (&tz_lock);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 1995,1996,1998-2003,2005-2006,2009-2014,2018
|
||||
/* Copyright 1995,1996,1998-2003,2005-2006,2009-2014,2016-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
@ -348,7 +348,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,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright 2000-2001,2006,2008-2009,2011-2012,2017-2018
|
||||
/* Copyright 2000-2001,2006,2008-2009,2011-2013,2016-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Guile.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue