r19079 - gnucash/trunk/src/scm - Bug #615168: Don't define hash-fold for guile 2.x
Christian Stimming
cstim at code.gnucash.org
Tue Apr 27 16:46:46 EDT 2010
Author: cstim
Date: 2010-04-27 16:46:46 -0400 (Tue, 27 Apr 2010)
New Revision: 19079
Trac: http://svn.gnucash.org/trac/changeset/19079
Modified:
gnucash/trunk/src/scm/main.scm
Log:
Bug #615168: Don't define hash-fold for guile 2.x
Patch by Andy Wingo.
* src/scm/main.scm (hash-fold): Only do the conditional hash-fold dance
if we don't have guile 2.0. (Definitions in expression context are
actually invalid Scheme, but older Guiles are more permissive.)
Modified: gnucash/trunk/src/scm/main.scm
===================================================================
--- gnucash/trunk/src/scm/main.scm 2010-04-27 20:46:25 UTC (rev 19078)
+++ gnucash/trunk/src/scm/main.scm 2010-04-27 20:46:46 UTC (rev 19079)
@@ -93,15 +93,18 @@
(b -1)
(else 0))))
-(if (not (defined? 'hash-fold))
- (define (hash-fold proc init table)
- (for-each
- (lambda (bin)
- (for-each
- (lambda (elt)
- (set! init (proc (car elt) (cdr elt) init)))
- bin))
- (vector->list table))))
+(cond-expand
+ (guile-2)
+ (else
+ (if (not (defined? 'hash-fold))
+ (define (hash-fold proc init table)
+ (for-each
+ (lambda (bin)
+ (for-each
+ (lambda (elt)
+ (set! init (proc (car elt) (cdr elt) init)))
+ bin))
+ (vector->list table))))))
(define (string-join lst joinstr)
;; This should avoid a bunch of unnecessary intermediate string-appends.
More information about the gnucash-changes
mailing list