Hi all,

I had some networking trouble just now and noticed that chicken-install
showed the following output, which is obviously incorrect:

TCP connect timeout

Error: bad argument count - received 2 but expected 3: #<procedure>

A similar situation can easily be triggered by calling chicken-install
with a nonexistent hostname:

$ chicken-install -l foo bar
retrieving ...
connecting to host "foo", port 80 ...
TCP connect timeout

Error: bad argument count - received 2 but expected 3: #<procedure>

The attached patch fixes the immediate error by calling "proc" with
three arguments instead of two.  However, I'm still a little unsure
how this is supposed to work.  For example, in
list-available-extensions, if "trans" is false, it will invoke the
NEXT procedure, which is #f.  I've tried but was unable to trigger
an error situation, so I suppose it's okay the way it is (but I still
don't understand).

Cheers,
Peter
-- 
http://sjamaan.ath.cx
--
"The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music."
                                                        -- Donald Knuth
>From 2ba4f610c2848170020a375350bd8b6eb58aab1c Mon Sep 17 00:00:00 2001
From: Peter Bex <[email protected]>
Date: Thu, 12 Jul 2012 20:41:56 +0200
Subject: [PATCH] Also call proc with three arguments in with-default-sources
 when there are no more sources to try

---
 chicken-install.scm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/chicken-install.scm b/chicken-install.scm
index 2674797..cf3dcf4 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -339,7 +339,7 @@
   (define (with-default-sources proc)
     (let trying-sources ([defs (known-default-sources)])
       (if (null? defs)
-          (proc #f #f)
+          (proc #f #f #f)
           (let* ([def (car defs)]
                  [locn (resolve-location
                        (cadr (or (assq 'location def)
-- 
1.7.9.1

_______________________________________________
Chicken-hackers mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-hackers

Reply via email to