From a2bedc8ac6fcdcd1de0a9fa3d540006481387dff Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Thu, 8 Dec 2016 15:39:05 +0100 Subject: [PATCH] gpgscm: Generalize 'for-each-p'. * tests/gpgscm/tests.scm (for-each-p): Generalize to N lists like for-each. (for-each-p'): Likewise. Signed-off-by: Justus Winter --- tests/gpgscm/tests.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/gpgscm/tests.scm b/tests/gpgscm/tests.scm index e2b38f5c7..bd51819d2 100644 --- a/tests/gpgscm/tests.scm +++ b/tests/gpgscm/tests.scm @@ -77,17 +77,18 @@ (flush-stdio))) (set! *progress-nesting* (- *progress-nesting* 1))) -(define (for-each-p msg proc lst) - (for-each-p' msg proc (lambda (x) x) lst)) +(define (for-each-p msg proc lst . lsts) + (apply for-each-p' `(,msg ,proc ,(lambda (x . xs) x) ,lst ,@lsts))) -(define (for-each-p' msg proc fmt lst) +(define (for-each-p' msg proc fmt lst . lsts) (call-with-progress msg (lambda (progress) - (for-each (lambda (a) - (progress (fmt a)) - (proc a)) - lst)))) + (apply for-each + `(,(lambda args + (progress (apply fmt args)) + (apply proc args)) + ,lst ,@lsts))))) ;; Process management. (define CLOSED_FD -1)