~ chicken-core (chicken-5) 0e83e4990d4ae0d77e1ccb7cc099ceef0f2cb6a4
commit 0e83e4990d4ae0d77e1ccb7cc099ceef0f2cb6a4 Author: Michele La Monaca <mikele.chicken@lamonaca.net> AuthorDate: Sat Mar 16 11:35:01 2013 +0100 Commit: Jim Ursetto <zbigniewsz@gmail.com> CommitDate: Sat Mar 16 14:36:30 2013 -0500 Fix setup-proxy to accept http URIs Signed-off-by: Peter Bex <peter.bex@xs4all.nl> Signed-off-by: Jim Ursetto <zbigniewsz@gmail.com> diff --git a/NEWS b/NEWS index c21c7cf9..c2d16fb0 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ - Tools - csc: added "-oi"/"-ot" options as alternatives to "-emit-inline-file" and "-emit-type-file", respectively; "-n" has been deprecated. + - chicken-install now also accepts full URI syntax for proxy environment + variables (thanks to Michele La Monaca) - Core libraries - read-line no longer returns trailing CRs in rare cases on TCP ports (#568) diff --git a/chicken-install.scm b/chicken-install.scm index 714cf74b..1ba5b978 100644 --- a/chicken-install.scm +++ b/chicken-install.scm @@ -798,16 +798,12 @@ EOF (exit code)) (define (setup-proxy uri) - (if (string? uri) - (begin - (set! *proxy-user-pass* (get-environment-variable "proxy_auth")) - (cond ((irregex-match "(.+)\\:([0-9]+)" uri) => - (lambda (m) - (set! *proxy-host* (irregex-match-substring m 1)) - (set! *proxy-port* (string->number (irregex-match-substring m 2)))) - (else - (set! *proxy-host* uri) - (set! *proxy-port* 80))))))) + (and-let* (((string? uri)) + (m (irregex-match "(http://)?([^:]+):?([0-9]*)" uri)) + (port (irregex-match-substring m 3))) + (set! *proxy-user-pass* (get-environment-variable "proxy_auth")) + (set! *proxy-host* (irregex-match-substring m 2)) + (set! *proxy-port* (or (string->number port) 80)))) (define (info->egg info) (if (member (cdr info) '("" "unknown" "trunk"))Trap