forked from pool/guile
Accepting request 712657 from devel:languages:misc
OBS-URL: https://build.opensuse.org/request/show/712657 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/guile?expand=0&rev=57
This commit is contained in:
commit
b697902136
@ -1,16 +0,0 @@
|
|||||||
--- guile-2.2.4/test-suite/tests/posix.test.orig 2018-09-23 14:33:16.390759869 +0200
|
|
||||||
+++ guile-2.2.4/test-suite/tests/posix.test 2018-09-23 14:33:35.298895612 +0200
|
|
||||||
@@ -230,12 +230,4 @@
|
|
||||||
(with-test-prefix "crypt"
|
|
||||||
|
|
||||||
(pass-if "basic usage"
|
|
||||||
- (string? (crypt "pass" "abcdefg")))
|
|
||||||
-
|
|
||||||
- (pass-if-exception "glibc EINVAL" exception:system-error
|
|
||||||
- ;; This used to deadlock while trying to throw to 'system-error'.
|
|
||||||
- ;; This test uses the special interpretation of the salt that glibc
|
|
||||||
- ;; does; specifically, we pass a syntactically invalid salt here.
|
|
||||||
- (if (string-contains %host-type "-gnu")
|
|
||||||
- (crypt "pass" "$X$abc") ;EINVAL
|
|
||||||
- (throw 'unresolved))))
|
|
||||||
+ (string? (crypt "pass" "abcdefg"))))
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:d9e8b94af7b206fcf52bec6501b921bd7d0bd7a31fb7e896a35ba8253678e31e
|
|
||||||
size 10852216
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAls52+8ACgkQCQsRmT2a
|
|
||||||
67UANw//X1a1qmbvQDpproQA9JPjsuALKp9cZgML7RiwDyYFjzjwGPt+8oSV4Q6Q
|
|
||||||
qfMzgtFSvW8wHXDbyraFYdDLTdSnZssdk2kR1G1hgxVQyuDDmUTrtkkA1O4ZJB5A
|
|
||||||
bLeL4lY3LkNU221hZ70ds7r3Vn4086sXPLtcj4OOitwmdJue6Uv4jhXpwK9XioQ3
|
|
||||||
A9J14UldbQeYIAtHModpg+ohdsq6hikRjq1Hvgat7Ay+wQCWrJ2HlfTR6sxT+wuT
|
|
||||||
Z+U5zSjPlnW1picBYKUgeDQH5cHHB4rks0wInAs8uHx+EGPBTWGEkPC6oy3pgBHt
|
|
||||||
WplAfJQkvyVIQyGzQTHuZz82DZpelGKDoHZ4WavVf2PD+VMOq48fB6QFlL4ZSBJR
|
|
||||||
sO6TBw/Co/rP8Bggd2Ywr9blb9XEfaQHVu5259pBcyOR+uNXl+3ETmzxzVkLUCt3
|
|
||||||
fp5CYMcMhUICzla7WQ8+D2/Aq6ujaom19vYepXsCUmg6yudI9u5sa9wEzyaDhGhl
|
|
||||||
lPC6C5tc5UNXPd3fFP0h9Kk6QVRPg+inwJ+pZgbQQtkaxYutO8Q+W3R7DtVfZ2K4
|
|
||||||
1OMaqZEIoV1D/bKK69SfTkvFdF159cvJjuDd4oXaUTDnugDpBtt6Ag3dgfxWUHGf
|
|
||||||
mf2Qhg9+9NZ43OHOJoJxkHEtXehwAKW9ynvOGEuW8RdvX8mpPRk=
|
|
||||||
=65nj
|
|
||||||
-----END PGP SIGNATURE-----
|
|
3
guile-2.2.5.tar.xz
Normal file
3
guile-2.2.5.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:fc3073f12d43650e643dc0111730b73a9fa11f131b9b72f66d01e82d83e685a7
|
||||||
|
size 10870280
|
16
guile-2.2.5.tar.xz.sig
Normal file
16
guile-2.2.5.tar.xz.sig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCAAdFiEEPORkVYqE/cadtAz7CQsRmT2a67UFAl0LXyoACgkQCQsRmT2a
|
||||||
|
67XQThAAtMSWVJCdA3ZVkTe0LxPvRU0E/dFnmpTzrTJlrApwr54wKqbiPYresAQF
|
||||||
|
QAFn8pqZCma2RVocYDFlMDK7TWPDBPIQ2HS/+i5oD5rorP6EBgFsFj9YjILZckdD
|
||||||
|
+GwdpaL2EUf0s9ZJqYFoNfsIhwsLOe+3Tc0NA7fyROlamxJyU0v+Oo8nrHBZYfL7
|
||||||
|
6EqVFCG9jIvMdbG/J+w6QyJN2/axb7iAMxv1uhi4YKRKaCFFPuDakaJ6mpBr+YfO
|
||||||
|
ri636V894J7Sd0t35nWfnx1PSL/kqLspguFvjT2xUk0lDVUJATgKzRmkRiF5THKb
|
||||||
|
t4nk1JtIfzkV8kDZg/28kfXGknm36GOiGYpbl9BBn9uc9IqlatgTbC63A8sWZ1Jh
|
||||||
|
2q4yDA2f09WoxWWoCoJVlSBbVlN5uEvnig1Ayd53Lf6oxXPsgYwk+Rl+CxGagwzr
|
||||||
|
fcqMDnAk6IzuUb41pmTtYOz090eIFFzLuZRud6hwXpcI2W2c/i8vDfQi1glvYJe4
|
||||||
|
t9t+WLonK5XiJ0gNnlRnEx1F6j0JQfCHa/FjqpvIJ0wyLQ4H0ZOIZSw2yoK+QPF3
|
||||||
|
lgv1jg9wPlJd1tdt9suX7rnr1p6rEfL3Kv8URXWSYICCkrjMrrqv8hcUCrfe5rKL
|
||||||
|
PfMXmMXvB/M+Id/ozEMoTpEmrrvW6ogJOH7zD+B+ijzyQp6ppAA=
|
||||||
|
=081E
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -1,41 +0,0 @@
|
|||||||
Index: guile-2.2.4/test-suite/standalone/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- guile-2.2.4.orig/test-suite/standalone/Makefile.am
|
|
||||||
+++ guile-2.2.4/test-suite/standalone/Makefile.am
|
|
||||||
@@ -183,6 +183,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}
|
|
||||||
Index: guile-2.2.4/test-suite/standalone/test-ja_JP.sjis
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null
|
|
||||||
+++ guile-2.2.4/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" "$@"
|
|
||||||
+!#
|
|
||||||
Index: guile-2.2.4/test-suite/standalone/Makefile.in
|
|
||||||
===================================================================
|
|
||||||
--- guile-2.2.4.orig/test-suite/standalone/Makefile.in
|
|
||||||
+++ guile-2.2.4/test-suite/standalone/Makefile.in
|
|
||||||
@@ -97,7 +97,8 @@ TESTS = test-system-cmds test-bad-identi
|
|
||||||
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) \
|
|
@ -1,784 +0,0 @@
|
|||||||
From c2a654b7d29f5e2f32fd1313cc80162fd0c8f992 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark H Weaver <mhw@netris.org>
|
|
||||||
Date: Tue, 16 Oct 2018 02:34:18 -0400
|
|
||||||
Subject: 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.
|
|
||||||
---
|
|
||||||
libguile/debug-malloc.c | 5 +++--
|
|
||||||
libguile/deprecation.c | 5 +++--
|
|
||||||
libguile/error.c | 16 ++++++++--------
|
|
||||||
libguile/eval.c | 22 ++++++++++------------
|
|
||||||
libguile/expand.c | 11 +++++------
|
|
||||||
libguile/extensions.c | 9 +++++----
|
|
||||||
libguile/filesys.c | 6 +++---
|
|
||||||
libguile/init.c | 5 +++--
|
|
||||||
libguile/load.c | 37 ++++++++++++++++++++-----------------
|
|
||||||
libguile/modules.c | 5 +++--
|
|
||||||
libguile/pairs.c | 6 +++---
|
|
||||||
libguile/posix.c | 8 +++-----
|
|
||||||
libguile/print.c | 11 +++++------
|
|
||||||
libguile/random.c | 9 ++++++---
|
|
||||||
libguile/read.c | 17 ++++++++++-------
|
|
||||||
libguile/regex-posix.c | 7 ++++---
|
|
||||||
libguile/snarf.h | 8 ++++----
|
|
||||||
libguile/srfi-13.c | 5 +++--
|
|
||||||
libguile/stacks.c | 8 +++++---
|
|
||||||
libguile/stime.c | 6 +++---
|
|
||||||
libguile/strports.c | 6 +++---
|
|
||||||
libguile/values.c | 5 +++--
|
|
||||||
22 files changed, 115 insertions(+), 102 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libguile/debug-malloc.c b/libguile/debug-malloc.c
|
|
||||||
index fa3612d..2f2d0ab 100644
|
|
||||||
--- a/libguile/debug-malloc.c
|
|
||||||
+++ b/libguile/debug-malloc.c
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
-/* Copyright (C) 2000, 2006, 2008 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 2000-2002, 2004, 2006, 2008, 2009, 2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -221,7 +222,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 aa50eaf..6ebe398 100644
|
|
||||||
--- a/libguile/deprecation.c
|
|
||||||
+++ b/libguile/deprecation.c
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
-/* Copyright (C) 2001, 2006, 2010, 2011 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 2001, 2005, 2006, 2009-2012, 2016, 2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -117,7 +118,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 ff84f41..7a86578 100644
|
|
||||||
--- a/libguile/error.c
|
|
||||||
+++ b/libguile/error.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-/* Copyright (C) 1995-1998, 2000, 2001, 2004, 2006, 2010, 2012-2014
|
|
||||||
- * Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995-1998, 2000, 2001, 2004, 2006, 2010, 2012-2016,
|
|
||||||
+ * 2018 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -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 e9ff02a..a1e7f5b 100644
|
|
||||||
--- a/libguile/eval.c
|
|
||||||
+++ b/libguile/eval.c
|
|
||||||
@@ -1,6 +1,4 @@
|
|
||||||
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,
|
|
||||||
- * 2005,2006,2007,2008,2009,2010,2011,2012,2013,2014
|
|
||||||
- * Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995-2018 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -197,22 +195,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));
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -230,9 +228,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 fc7da54..f00e664 100644
|
|
||||||
--- a/libguile/expand.c
|
|
||||||
+++ b/libguile/expand.c
|
|
||||||
@@ -1,5 +1,4 @@
|
|
||||||
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014
|
|
||||||
- * Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995-2014, 2016, 2018 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -217,7 +216,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;
|
|
||||||
@@ -480,7 +479,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);
|
|
||||||
@@ -1589,7 +1588,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);
|
|
||||||
@@ -1631,7 +1630,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++)
|
|
||||||
diff --git a/libguile/extensions.c b/libguile/extensions.c
|
|
||||||
index 1c3d28f..ab10893 100644
|
|
||||||
--- a/libguile/extensions.c
|
|
||||||
+++ b/libguile/extensions.c
|
|
||||||
@@ -1,6 +1,7 @@
|
|
||||||
/* extensions.c - registering and loading extensions.
|
|
||||||
*
|
|
||||||
- * Copyright (C) 2001, 2006, 2009, 2010, 2011 Free Software Foundation, Inc.
|
|
||||||
+ * Copyright (C) 2001, 2002, 2004, 2006, 2009-2011, 2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -90,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)
|
|
||||||
@@ -123,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,
|
|
||||||
diff --git a/libguile/filesys.c b/libguile/filesys.c
|
|
||||||
index 05dd2bd..e1aeeed 100644
|
|
||||||
--- a/libguile/filesys.c
|
|
||||||
+++ b/libguile/filesys.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2006,
|
|
||||||
- * 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2018 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1996-2002, 2004, 2006, 2009-2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -1945,7 +1945,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 b046685..00d2e80 100644
|
|
||||||
--- a/libguile/init.c
|
|
||||||
+++ b/libguile/init.c
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
-/* Copyright (C) 1995-2004, 2006, 2009-2014 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995-2004, 2006, 2009-2014, 2016-2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -241,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 7b8136a..c209812 100644
|
|
||||||
--- a/libguile/load.c
|
|
||||||
+++ b/libguile/load.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-/* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2004, 2006, 2008,
|
|
||||||
- * 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995, 1996, 1998-2001, 2004, 2006, 2008-2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -146,7 +146,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 */
|
|
||||||
@@ -158,7 +158,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 */
|
|
||||||
@@ -184,7 +184,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 */
|
|
||||||
@@ -197,7 +197,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 */
|
|
||||||
@@ -302,6 +302,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++;
|
|
||||||
@@ -331,10 +334,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)
|
|
||||||
@@ -344,8 +347,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 */
|
|
||||||
@@ -946,7 +949,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
|
|
||||||
@@ -1272,10 +1275,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))
|
|
||||||
@@ -1333,13 +1336,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 bf60d4d..e4cccd2 100644
|
|
||||||
--- a/libguile/modules.c
|
|
||||||
+++ b/libguile/modules.c
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
-/* Copyright (C) 1998,2000,2001,2002,2003,2004,2006,2007,2008,2009,2010,2011,2012,2018 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1998, 2000-2004, 2006-2012, 2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -902,7 +903,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 cea5452..92f9cfa 100644
|
|
||||||
--- a/libguile/pairs.c
|
|
||||||
+++ b/libguile/pairs.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-/* Copyright (C) 1995,1996,2000,2001, 2004, 2005, 2006, 2008, 2009,
|
|
||||||
- * 2011, 2012, 2013 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995, 1996, 2000, 2001, 2004-2006, 2008-2013,
|
|
||||||
+ * 2017, 2018 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -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 d820092..7ede7b7 100644
|
|
||||||
--- a/libguile/posix.c
|
|
||||||
+++ b/libguile/posix.c
|
|
||||||
@@ -1,6 +1,4 @@
|
|
||||||
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
|
|
||||||
- * 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
|
|
||||||
- * 2014, 2016, 2017, 2018 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995-2014, 2016-2018 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -372,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 24c532f..6b5b16b 100644
|
|
||||||
--- a/libguile/print.c
|
|
||||||
+++ b/libguile/print.c
|
|
||||||
@@ -1,5 +1,4 @@
|
|
||||||
-/* Copyright (C) 1995-1999, 2000, 2001, 2002, 2003, 2004, 2006, 2008,
|
|
||||||
- * 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995-2004, 2006, 2008-2018 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -1290,9 +1289,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. */
|
|
||||||
@@ -1303,9 +1302,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 1604b46..05147ed 100644
|
|
||||||
--- a/libguile/random.c
|
|
||||||
+++ b/libguile/random.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-/* Copyright (C) 1999, 2000, 2001, 2003, 2005, 2006, 2009, 2010,
|
|
||||||
- * 2012, 2013, 2014 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1999-2001, 2003, 2005, 2006, 2009, 2010, 2012-2014,
|
|
||||||
+ * 2017, 2018 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -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 0946ff3..45bb6a7 100644
|
|
||||||
--- a/libguile/read.c
|
|
||||||
+++ b/libguile/read.c
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-/* Copyright (C) 1995-1997, 1999-2001, 2003, 2004, 2006-2012, 2014, 2015
|
|
||||||
+/* Copyright (C) 1995-1997, 1999-2001, 2003, 2004, 2006-2012, 2014-2018
|
|
||||||
* Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
@@ -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_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);
|
|
||||||
@@ -2211,7 +2211,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;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/libguile/regex-posix.c b/libguile/regex-posix.c
|
|
||||||
index 9350fb3..d3dd6d8 100644
|
|
||||||
--- a/libguile/regex-posix.c
|
|
||||||
+++ b/libguile/regex-posix.c
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
-/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2006, 2007, 2010, 2011, 2012 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1997-2001, 2004, 2006, 2007, 2010-2012, 2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -173,7 +174,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));
|
|
||||||
@@ -304,7 +305,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 aafd5bd..c9c3a58 100644
|
|
||||||
--- a/libguile/snarf.h
|
|
||||||
+++ b/libguile/snarf.h
|
|
||||||
@@ -3,8 +3,8 @@
|
|
||||||
#ifndef SCM_SNARF_H
|
|
||||||
#define SCM_SNARF_H
|
|
||||||
|
|
||||||
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
|
|
||||||
- * 2004, 2006, 2009, 2010, 2011, 2013, 2014 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995-2004, 2006, 2009-2011, 2013, 2014, 2017, 2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -180,11 +180,11 @@ SCM_SNARF_INIT(c_name = scm_from_utf8_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 c77cba9..3ff44fb 100644
|
|
||||||
--- a/libguile/srfi-13.c
|
|
||||||
+++ b/libguile/srfi-13.c
|
|
||||||
@@ -1,6 +1,7 @@
|
|
||||||
/* srfi-13.c --- SRFI-13 procedures for Guile
|
|
||||||
*
|
|
||||||
- * Copyright (C) 2001, 2004, 2005, 2006, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
|
||||||
+ * Copyright (C) 2001, 2004-2006, 2008-2013, 2017, 2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -405,7 +406,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 76e10fa..c4dd317 100644
|
|
||||||
--- a/libguile/stacks.c
|
|
||||||
+++ b/libguile/stacks.c
|
|
||||||
@@ -1,5 +1,7 @@
|
|
||||||
/* A stack holds a frame chain
|
|
||||||
- * Copyright (C) 1996,1997,2000,2001, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2017 Free Software Foundation
|
|
||||||
+ *
|
|
||||||
+ * Copyright (C) 1996, 1997, 2000, 2001, 2006-2015, 2017, 2018
|
|
||||||
+ * Free Software Foundation
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -462,10 +464,10 @@ 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 "libguile/stacks.x"
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/libguile/stime.c b/libguile/stime.c
|
|
||||||
index 4a78298..c5b258d 100644
|
|
||||||
--- a/libguile/stime.c
|
|
||||||
+++ b/libguile/stime.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2003, 2004, 2005, 2006,
|
|
||||||
- * 2007, 2008, 2009, 2011, 2013, 2014 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995-2001, 2003-2009, 2011, 2013, 2014, 2016-2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -696,7 +696,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);
|
|
||||||
diff --git a/libguile/strports.c b/libguile/strports.c
|
|
||||||
index 5f78785..b01282e 100644
|
|
||||||
--- a/libguile/strports.c
|
|
||||||
+++ b/libguile/strports.c
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-/* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006,
|
|
||||||
- * 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 1995, 1996, 1998-2003, 2005, 2006, 2009-2014,
|
|
||||||
+ * 2016-2018 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -344,7 +344,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 2b2ec3f..131784a 100644
|
|
||||||
--- a/libguile/values.c
|
|
||||||
+++ b/libguile/values.c
|
|
||||||
@@ -1,4 +1,5 @@
|
|
||||||
-/* Copyright (C) 2000, 2001, 2006, 2008, 2009, 2011, 2012 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 2000, 2001, 2006, 2008, 2009, 2011-2013, 2016, 2018
|
|
||||||
+ * Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -141,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");
|
|
||||||
|
|
||||||
--
|
|
||||||
cgit v1.0-41-gc330
|
|
@ -1,3 +1,46 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 25 08:02:58 UTC 2019 - Jonathan Brielmaier <jbrielmaier@suse.de>
|
||||||
|
|
||||||
|
- Update to version 2.2.5
|
||||||
|
Notable changes compared to 2.2.5:
|
||||||
|
* Notable improvements
|
||||||
|
** Greatly improved performance of bidirectional pipes.
|
||||||
|
** New 'get-bytevector-some!' I/O primitive.
|
||||||
|
** get-bytevector-{n!,some,some!} now support suspendable I/O.
|
||||||
|
* Compiler improvements
|
||||||
|
** guild compile: Add -Wshadowed-toplevel.
|
||||||
|
** guild compile: Add '-x' flag.
|
||||||
|
* Miscellaneous improvements
|
||||||
|
** Bootstrap optimization
|
||||||
|
** put-u8 now always writes a single byte, regardless of the port encoding.
|
||||||
|
** Optimize fixnum exact integer square roots.
|
||||||
|
** scm_mkstrport: Optimize the POS -> BYTE_POS conversion.
|
||||||
|
** SRFI-19: Support ~N in string->date.
|
||||||
|
** SRFI-19: Update the leap second table.
|
||||||
|
** stexi->shtml: Add support for @i, @math, @tie and @dots.
|
||||||
|
** Define AT_SYMLINK_NOFOLLOW, AT_NO_AUTOMOUNT, and AT_EMPTY_PATH.
|
||||||
|
** Improvements to the 'time' macro from (ice-9 time).
|
||||||
|
* Bug fixes
|
||||||
|
** Avoid regexp ranges in HTTP inter-protocol exploitation check.
|
||||||
|
** Fixes to the SRFI-19 time/date library.
|
||||||
|
** Improve overflow checks in bytevector, string, and I/O operations.
|
||||||
|
** Fix type inferencing for 'nil?' and 'null?' predicates.
|
||||||
|
** Fix 'atomic-box-compare-and-swap!'.
|
||||||
|
** Make URI handling locale independent.
|
||||||
|
** Strings, i18n: Limit the use of alloca to approximately 8 kilobytes.
|
||||||
|
** Fix documentation of R6RS 'binary-port?' to reflect reality.
|
||||||
|
** Avoid passing NULL to 'memcpy' and 'memcmp'.
|
||||||
|
** Save and restore errno in the signal handler.
|
||||||
|
** Various smaller bug fixes
|
||||||
|
More details: /usr/share/doc/packages/guile/NEWS
|
||||||
|
- add patches:
|
||||||
|
* revert-http-reader-change.patch: Fixes https://bugs.gnu.org/36350.
|
||||||
|
- remove patches:
|
||||||
|
* guile-add-test-ja_JP.sjis.patch: proper fix included in 2.2.5
|
||||||
|
* guile-use-utf8.patch: included in 2.2.5
|
||||||
|
* disable-posix-crypt-test.patch: test succeeds now
|
||||||
|
- reorder patches
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Jan 15 20:43:27 UTC 2019 - schwab@suse.de
|
Tue Jan 15 20:43:27 UTC 2019 - schwab@suse.de
|
||||||
|
|
||||||
|
16
guile.spec
16
guile.spec
@ -23,7 +23,7 @@
|
|||||||
%define libgver 1
|
%define libgver 1
|
||||||
%define gsuff %{guilemaj}_%{guilemin}-%{libgver}
|
%define gsuff %{guilemaj}_%{guilemin}-%{libgver}
|
||||||
Name: guile
|
Name: guile
|
||||||
Version: %{guilevers}.4
|
Version: %{guilevers}.5
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: GNU's Ubiquitous Intelligent Language for Extension
|
Summary: GNU's Ubiquitous Intelligent Language for Extension
|
||||||
License: GFDL-1.3-only AND GPL-3.0-or-later AND LGPL-3.0-or-later
|
License: GFDL-1.3-only AND GPL-3.0-or-later AND LGPL-3.0-or-later
|
||||||
@ -33,13 +33,12 @@ Source0: https://ftp.gnu.org/gnu/guile/%{name}-%{version}.tar.xz
|
|||||||
Source1: https://ftp.gnu.org/gnu/guile/%{name}-%{version}.tar.xz.sig
|
Source1: https://ftp.gnu.org/gnu/guile/%{name}-%{version}.tar.xz.sig
|
||||||
Source2: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=guile&download=1#/%{name}.keyring
|
Source2: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=guile&download=1#/%{name}.keyring
|
||||||
Source3: guile-rpmlintrc
|
Source3: guile-rpmlintrc
|
||||||
Patch0: guile-2.2-gc_pkgconfig_private.patch
|
# PATCH-FIX-UPSTREAM revert-http-reader-change.patch https://bugs.gnu.org/36350
|
||||||
Patch1: guile-add-test-ja_JP.sjis.patch
|
Patch0: revert-http-reader-change.patch
|
||||||
Patch2: guile-use-utf8.patch
|
# Fix the resulting /usr/lib64/pkgconfig/guile-2.2.pc
|
||||||
# glibc EINVAL failure
|
Patch1: guile-2.2-gc_pkgconfig_private.patch
|
||||||
Patch3: disable-posix-crypt-test.patch
|
|
||||||
# test fails always with heap error
|
# test fails always with heap error
|
||||||
Patch4: disable-test-out-of-memory.patch
|
Patch2: disable-test-out-of-memory.patch
|
||||||
BuildRequires: gmp-devel
|
BuildRequires: gmp-devel
|
||||||
BuildRequires: libffi-devel
|
BuildRequires: libffi-devel
|
||||||
BuildRequires: libltdl-devel
|
BuildRequires: libltdl-devel
|
||||||
@ -105,10 +104,7 @@ linked in as a library when building extensible programs.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
chmod +x test-suite/standalone/test-ja_JP.sjis
|
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
|
|
||||||
# remove broken prebuilt objects
|
# remove broken prebuilt objects
|
||||||
rm -r prebuilt/32-bit-big-endian
|
rm -r prebuilt/32-bit-big-endian
|
||||||
|
97
revert-http-reader-change.patch
Normal file
97
revert-http-reader-change.patch
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
From e1225d013ed8673382d6d8f9300dd6b175c8b820 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark H Weaver <mhw@netris.org>
|
||||||
|
Date: Mon, 24 Jun 2019 10:24:28 -0400
|
||||||
|
Subject: Revert "web: Add support for HTTP header continuation lines."
|
||||||
|
|
||||||
|
Fixes <https://bugs.gnu.org/36350>.
|
||||||
|
|
||||||
|
This reverts commit 73cde5ed7218a090ecee888870908af5445796f0.
|
||||||
|
---
|
||||||
|
module/web/http.scm | 31 +++++++------------------------
|
||||||
|
test-suite/tests/web-http.test | 11 +----------
|
||||||
|
2 files changed, 8 insertions(+), 34 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/module/web/http.scm b/module/web/http.scm
|
||||||
|
index f1ca733..de61c94 100644
|
||||||
|
--- a/module/web/http.scm
|
||||||
|
+++ b/module/web/http.scm
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
;;; HTTP messages
|
||||||
|
|
||||||
|
-;; Copyright (C) 2010-2017, 2019 Free Software Foundation, Inc.
|
||||||
|
+;; Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
;; This library is free software; you can redistribute it and/or
|
||||||
|
;; modify it under the terms of the GNU Lesser General Public
|
||||||
|
@@ -152,35 +152,18 @@ The default writer will call ‘put-string’."
|
||||||
|
(lambda (val port)
|
||||||
|
(put-string port val)))))
|
||||||
|
|
||||||
|
-(define spaces-and-tabs
|
||||||
|
- (char-set #\space #\tab))
|
||||||
|
-
|
||||||
|
-(define (space-or-tab? c)
|
||||||
|
- (case c
|
||||||
|
- ((#\space #\tab) #t)
|
||||||
|
- (else #f)))
|
||||||
|
-
|
||||||
|
(define (read-header-line port)
|
||||||
|
- "Read an HTTP header line, including any continuation lines, and
|
||||||
|
-return the combined string without its final CRLF or LF. Raise a
|
||||||
|
-'bad-header' exception if the line does not end in CRLF or LF, or if EOF
|
||||||
|
-is reached."
|
||||||
|
+ "Read an HTTP header line and return it without its final CRLF or LF.
|
||||||
|
+Raise a 'bad-header' exception if the line does not end in CRLF or LF,
|
||||||
|
+or if EOF is reached."
|
||||||
|
(match (%read-line port)
|
||||||
|
(((? string? line) . #\newline)
|
||||||
|
;; '%read-line' does not consider #\return a delimiter; so if it's
|
||||||
|
;; there, remove it. We are more tolerant than the RFC in that we
|
||||||
|
;; tolerate LF-only endings.
|
||||||
|
- (let ((line (if (string-suffix? "\r" line)
|
||||||
|
- (string-drop-right line 1)
|
||||||
|
- line)))
|
||||||
|
- ;; If the next character is a space or tab, then there's at least
|
||||||
|
- ;; one continuation line. Read the continuation lines by calling
|
||||||
|
- ;; 'read-header-line' recursively, and append them to this header
|
||||||
|
- ;; line, folding the leading spaces and tabs to a single space.
|
||||||
|
- (if (space-or-tab? (lookahead-char port))
|
||||||
|
- (string-append line " " (string-trim (read-header-line port)
|
||||||
|
- spaces-and-tabs))
|
||||||
|
- line)))
|
||||||
|
+ (if (string-suffix? "\r" line)
|
||||||
|
+ (string-drop-right line 1)
|
||||||
|
+ line))
|
||||||
|
((line . _) ;EOF or missing delimiter
|
||||||
|
(bad-header 'read-header-line line))))
|
||||||
|
|
||||||
|
diff --git a/test-suite/tests/web-http.test b/test-suite/tests/web-http.test
|
||||||
|
index c1cf088..6337734 100644
|
||||||
|
--- a/test-suite/tests/web-http.test
|
||||||
|
+++ b/test-suite/tests/web-http.test
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
;;;; web-http.test --- HTTP library -*- mode: scheme; coding: utf-8; -*-
|
||||||
|
;;;;
|
||||||
|
-;;;; Copyright (C) 2010-2011, 2014-2017, 2019 Free Software Foundation, Inc.
|
||||||
|
+;;;; Copyright (C) 2010-2011, 2014-2017 Free Software Foundation, Inc.
|
||||||
|
;;;;
|
||||||
|
;;;; This library is free software; you can redistribute it and/or
|
||||||
|
;;;; modify it under the terms of the GNU Lesser General Public
|
||||||
|
@@ -242,15 +242,6 @@
|
||||||
|
(pass-if-round-trip "Cache-Control: acme-cache-extension=100 quux\r\n")
|
||||||
|
(pass-if-round-trip "Cache-Control: acme-cache-extension=\"100, quux\"\r\n")
|
||||||
|
|
||||||
|
- (let ((str "Cache-Control: acme-cache-extension=\"100,\r\n\t foo,\r\n quux\"\r\n")
|
||||||
|
- (val '(cache-control . ((acme-cache-extension . "100, foo, quux")))))
|
||||||
|
- (pass-if-equal "continuation lines"
|
||||||
|
- val
|
||||||
|
- (call-with-values (lambda ()
|
||||||
|
- (read-header (open-input-string str)))
|
||||||
|
- (lambda (sym val)
|
||||||
|
- (cons sym val)))))
|
||||||
|
-
|
||||||
|
(pass-if-parse connection "close" '(close))
|
||||||
|
(pass-if-parse connection "Content-Encoding" '(content-encoding))
|
||||||
|
|
||||||
|
--
|
||||||
|
cgit v1.0-41-gc330
|
Loading…
Reference in New Issue
Block a user