diff --git a/disable-posix-crypt-test.patch b/disable-posix-crypt-test.patch deleted file mode 100644 index 22fd7f2..0000000 --- a/disable-posix-crypt-test.patch +++ /dev/null @@ -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")))) diff --git a/guile-2.2.4.tar.xz b/guile-2.2.4.tar.xz deleted file mode 100644 index 1cf3862..0000000 --- a/guile-2.2.4.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9e8b94af7b206fcf52bec6501b921bd7d0bd7a31fb7e896a35ba8253678e31e -size 10852216 diff --git a/guile-2.2.4.tar.xz.sig b/guile-2.2.4.tar.xz.sig deleted file mode 100644 index 7b06a5e..0000000 --- a/guile-2.2.4.tar.xz.sig +++ /dev/null @@ -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----- diff --git a/guile-2.2.5.tar.xz b/guile-2.2.5.tar.xz new file mode 100644 index 0000000..acfe24d --- /dev/null +++ b/guile-2.2.5.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc3073f12d43650e643dc0111730b73a9fa11f131b9b72f66d01e82d83e685a7 +size 10870280 diff --git a/guile-2.2.5.tar.xz.sig b/guile-2.2.5.tar.xz.sig new file mode 100644 index 0000000..9e51b30 --- /dev/null +++ b/guile-2.2.5.tar.xz.sig @@ -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----- diff --git a/guile-add-test-ja_JP.sjis.patch b/guile-add-test-ja_JP.sjis.patch deleted file mode 100644 index c6ac55f..0000000 --- a/guile-add-test-ja_JP.sjis.patch +++ /dev/null @@ -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) \ diff --git a/guile-use-utf8.patch b/guile-use-utf8.patch deleted file mode 100644 index d80aae8..0000000 --- a/guile-use-utf8.patch +++ /dev/null @@ -1,784 +0,0 @@ -From c2a654b7d29f5e2f32fd1313cc80162fd0c8f992 Mon Sep 17 00:00:00 2001 -From: Mark H Weaver -Date: Tue, 16 Oct 2018 02:34:18 -0400 -Subject: Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. - -Partial fix for . -Reported by Tom de Vries . - -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 ("#")); -+ : scm_from_utf8_string ("#")); - - 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 diff --git a/guile.changes b/guile.changes index 20580c8..8daf8fe 100644 --- a/guile.changes +++ b/guile.changes @@ -1,3 +1,46 @@ +------------------------------------------------------------------- +Tue Jun 25 08:02:58 UTC 2019 - Jonathan Brielmaier + +- 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 diff --git a/guile.spec b/guile.spec index ad9f417..54a1b87 100644 --- a/guile.spec +++ b/guile.spec @@ -23,7 +23,7 @@ %define libgver 1 %define gsuff %{guilemaj}_%{guilemin}-%{libgver} Name: guile -Version: %{guilevers}.4 +Version: %{guilevers}.5 Release: 0 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 @@ -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 Source2: https://savannah.gnu.org/project/memberlist-gpgkeys.php?group=guile&download=1#/%{name}.keyring Source3: guile-rpmlintrc -Patch0: guile-2.2-gc_pkgconfig_private.patch -Patch1: guile-add-test-ja_JP.sjis.patch -Patch2: guile-use-utf8.patch -# glibc EINVAL failure -Patch3: disable-posix-crypt-test.patch +# PATCH-FIX-UPSTREAM revert-http-reader-change.patch https://bugs.gnu.org/36350 +Patch0: revert-http-reader-change.patch +# Fix the resulting /usr/lib64/pkgconfig/guile-2.2.pc +Patch1: guile-2.2-gc_pkgconfig_private.patch # test fails always with heap error -Patch4: disable-test-out-of-memory.patch +Patch2: disable-test-out-of-memory.patch BuildRequires: gmp-devel BuildRequires: libffi-devel BuildRequires: libltdl-devel @@ -105,10 +104,7 @@ linked in as a library when building extensible programs. %setup -q %patch0 -p1 %patch1 -p1 -chmod +x test-suite/standalone/test-ja_JP.sjis %patch2 -p1 -%patch3 -p1 -%patch4 -p1 # remove broken prebuilt objects rm -r prebuilt/32-bit-big-endian diff --git a/revert-http-reader-change.patch b/revert-http-reader-change.patch new file mode 100644 index 0000000..5ef2e7a --- /dev/null +++ b/revert-http-reader-change.patch @@ -0,0 +1,97 @@ +From e1225d013ed8673382d6d8f9300dd6b175c8b820 Mon Sep 17 00:00:00 2001 +From: Mark H Weaver +Date: Mon, 24 Jun 2019 10:24:28 -0400 +Subject: Revert "web: Add support for HTTP header continuation lines." + +Fixes . + +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