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.)

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@19079 57a11ea4-9604-0410-9ed3-97b8803252fd
pull/1/head
Christian Stimming 16 years ago
parent 1ac44f0b8f
commit 8edb4f839b

@ -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.

Loading…
Cancel
Save