mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
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 <justus@g10code.com>
This commit is contained in:
parent
3b5b94ceab
commit
a2bedc8ac6
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user