I'm early in my Scheme journey, but here's a suggested fix:

(define-syntax-rule (with-readline-completion-function completer expr ...)
  "With @var{completer} as readline completion function, call @var{expr ...}."
  (let ((old-completer *readline-completion-function*))
    (dynamic-wind
      (lambda ()
    (set! *readline-completion-function* completer))
      (lambda () expr ...)
      (lambda ()
    (set! *readline-completion-function* old-completer)))))

(export with-readline-completion-function)



Reply via email to