From 83f3369603208e2d4470a6b4e930522c938be90c Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Thu, 28 Apr 2022 23:58:01 -0600 Subject: [PATCH] compat: srfi-43: Adjust for Mes. * gash/compat/srfi-43.scm (shared-shims): New macro. [if-guile-version-below (2 0 10)]: Use it. [mes]: Likewise. --- gash/compat/srfi-43.scm | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/gash/compat/srfi-43.scm b/gash/compat/srfi-43.scm index c6025b4..88b4795 100644 --- a/gash/compat/srfi-43.scm +++ b/gash/compat/srfi-43.scm @@ -26,16 +26,26 @@ ;;; ;;; Code: +(define-macro (shared-shims) + '(begin + (export vector-empty? + vector-every) + + (define (vector-empty? vec) + (zero? (vector-length vec))) + + ;; We only need the single vector version. + (define (vector-every pred? vec) + (let loop ((i 0) (value #t)) + (if (< i (vector-length vec)) + (and value (loop (1+ i) (pred? (vector-ref vec i)))) + value))))) + (if-guile-version-below (2 0 10) - (begin - (define-public (vector-empty? vec) - (zero? (vector-length vec))) - ;; We only need the single vector version. - (define-public (vector-every pred? vec) - (let loop ((i 0) (value #t)) - (if (< i (vector-length vec)) - (and value (loop (1+ i) (pred? (vector-ref vec i)))) - value)))) + (shared-shims) (begin (use-modules (srfi srfi-43)) (re-export vector-empty? vector-every))) + +(when-mes + (shared-shims))