guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.5-169-ge8049


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.5-169-ge804940
Date: Fri, 08 Jun 2012 10:44:12 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=e80494083aa3e9dc40a7ae5da12f0e90db550889

The branch, stable-2.0 has been updated
       via  e80494083aa3e9dc40a7ae5da12f0e90db550889 (commit)
       via  0a3ac81a1c1017d3c71e9eac8f0dd3407563632b (commit)
      from  27ea5c3f31cd353b71e4691211082e8a8e36e730 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e80494083aa3e9dc40a7ae5da12f0e90db550889
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jun 8 12:44:07 2012 +0200

    Fix invalid use of `SCM' as a Boolean.
    
    * libguile/deprecated.c (scm_sym2var): Check `scm_is_true (definep)'.

commit 0a3ac81a1c1017d3c71e9eac8f0dd3407563632b
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jun 8 12:42:08 2012 +0200

    Update (ice-9 match) from Chibi-Scheme.
    
    Fixes <http://bugs.gnu.org/10651>.
    
    * module/ice-9/match.upstream.scm: Update.

-----------------------------------------------------------------------

Summary of changes:
 libguile/deprecated.c           |    4 ++--
 module/ice-9/match.scm          |    4 ++--
 module/ice-9/match.upstream.scm |    4 +++-
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/libguile/deprecated.c b/libguile/deprecated.c
index 61fa8e2..af0752c 100644
--- a/libguile/deprecated.c
+++ b/libguile/deprecated.c
@@ -2653,13 +2653,13 @@ scm_i_deprecated_asrtgo (scm_t_bits condition)
  * the scm_pre_modules_obarray (a `eq' hash table).
  */
 
-SCM 
+SCM
 scm_sym2var (SCM sym, SCM proc, SCM definep)
 #define FUNC_NAME "scm_sym2var"
 {
   SCM var;
 
-  if (definep)
+  if (scm_is_true (definep))
     scm_c_issue_deprecation_warning
       ("scm_sym2var is deprecated. Use scm_define or scm_module_define\n"
        "to define variables.  In some rare cases you may need\n"
diff --git a/module/ice-9/match.scm b/module/ice-9/match.scm
index 4b078c6..7fd191a 100644
--- a/module/ice-9/match.scm
+++ b/module/ice-9/match.scm
@@ -1,6 +1,6 @@
 ;;; -*- mode: scheme; coding: utf-8; -*-
 ;;;
-;;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+;;; Copyright (C) 2010, 2011, 2012 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
@@ -52,7 +52,7 @@
 ;; `match' doesn't support clauses of the form `(pat => exp)'.
 
 ;; Unmodified public domain code by Alex Shinn retrieved from
-;; the Chibi-Scheme repository, commit 876:528cdab3f818.
+;; the Chibi-Scheme repository, commit 1206:acd808700e91.
 ;;
 ;; Note: Make sure to update `match.test.upstream' when updating this
 ;; file.
diff --git a/module/ice-9/match.upstream.scm b/module/ice-9/match.upstream.scm
index 9786556..29f9dbe 100644
--- a/module/ice-9/match.upstream.scm
+++ b/module/ice-9/match.upstream.scm
@@ -210,6 +210,7 @@
 ;; performance can be found at
 ;;   http://synthcode.com/scheme/match-cond-expand.scm
 ;;
+;; 2012/05/23 - fixing combinatorial explosion of code in certain or patterns
 ;; 2011/09/25 - fixing bug when directly matching an identifier repeated in
 ;;              the pattern (thanks to Stefan Israelsson Tampe)
 ;; 2011/01/27 - fixing bug when matching tail patterns against improper lists
@@ -479,7 +480,8 @@
      (match-one v p . x))
     ((_ v (p . q) g+s sk fk i)
      ;; match one and try the remaining on failure
-     (match-one v p g+s sk (match-gen-or-step v q g+s sk fk i) i))
+     (let ((fk2 (lambda () (match-gen-or-step v q g+s sk fk i))))
+       (match-one v p g+s sk (fk2) i)))
     ))
 
 ;; We match a pattern (p ...) by matching the pattern p in a loop on


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]