From a31d421ede97db3be269cdcb1c50407b03161f00 Mon Sep 17 00:00:00 2001 From: Chongkai Zhu Date: Fri, 30 Mar 2007 04:40:03 +0000 Subject: [PATCH] fix bug report 8588 svn: r5845 --- collects/srfi/71/letvalues.ss | 20 ++++++++++---------- collects/srfi/86/86.ss | 2 +- collects/srfi/mzscheme-for-srfi-71-86.ss | 3 +++ collects/tests/srfi/load-srfis.ss | 4 ++++ 4 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 collects/srfi/mzscheme-for-srfi-71-86.ss diff --git a/collects/srfi/71/letvalues.ss b/collects/srfi/71/letvalues.ss index d18aae2604..0990d80b27 100644 --- a/collects/srfi/71/letvalues.ss +++ b/collects/srfi/71/letvalues.ss @@ -1,7 +1,7 @@ -; Reference implementation of SRFI-71 using PLT 208's modules -; Sebastian.Egner@philips.com, 29-Apr-2005 +; Based on Sebastian's reference implementation +; of SRFI-71 using PLT 208's modules -(module letvalues mzscheme +(module letvalues (lib "mzscheme-for-srfi-71-86.ss" "srfi") ;(provide (all-from-except mzscheme let let* letrec)) @@ -195,25 +195,25 @@ ; --- standard procedures --- (define (uncons pair) - (values (car pair) (cdr pair))) + (s:values (car pair) (cdr pair))) (define (uncons-2 list) - (values (car list) (cadr list) (cddr list))) + (s:values (car list) (cadr list) (cddr list))) (define (uncons-3 list) - (values (car list) (cadr list) (caddr list) (cdddr list))) + (s:values (car list) (cadr list) (caddr list) (cdddr list))) (define (uncons-4 list) - (values (car list) (cadr list) (caddr list) (cadddr list) (cddddr list))) + (s:values (car list) (cadr list) (caddr list) (cadddr list) (cddddr list))) (define (uncons-cons alist) - (values (caar alist) (cdar alist) (cdr alist))) + (s:values (caar alist) (cdar alist) (cdr alist))) (define (unlist list) - (apply values list)) + (apply s:values list)) (define (unvector vector) - (apply values (vector->list vector))) + (apply s:values (vector->list vector))) ; --- standard macros --- diff --git a/collects/srfi/86/86.ss b/collects/srfi/86/86.ss index 90f0f499ef..0843cfacfe 100644 --- a/collects/srfi/86/86.ss +++ b/collects/srfi/86/86.ss @@ -1,4 +1,4 @@ -(module |86| mzscheme +(module |86| (lib "mzscheme-for-srfi-71-86.ss" "srfi") (provide mu nu alet alet*) diff --git a/collects/srfi/mzscheme-for-srfi-71-86.ss b/collects/srfi/mzscheme-for-srfi-71-86.ss new file mode 100644 index 0000000000..13f4eb06c1 --- /dev/null +++ b/collects/srfi/mzscheme-for-srfi-71-86.ss @@ -0,0 +1,3 @@ +(module mzscheme-for-srfi-71-86 mzscheme + (provide (all-from-except mzscheme values)) + (provide (rename values s:values))) \ No newline at end of file diff --git a/collects/tests/srfi/load-srfis.ss b/collects/tests/srfi/load-srfis.ss index b05d005892..21efcdcd45 100644 --- a/collects/tests/srfi/load-srfis.ss +++ b/collects/tests/srfi/load-srfis.ss @@ -37,6 +37,8 @@ (require (lib "71.ss" "srfi")) (require (lib "74.ss" "srfi")) (require (lib "78.ss" "srfi")) +(require (lib "86.ss" "srfi")) +(require (lib "87.ss" "srfi")) (require (lib "list.ss" "srfi" "1")) (require (lib "time.ss" "srfi" "19")) @@ -72,3 +74,5 @@ (require (lib "letvalues.ss" "srfi" "71")) (require (lib "74.ss" "srfi" "74")) (require (lib "check.ss" "srfi" "78")) +(require (lib "86.ss" "srfi" "86")) +(require (lib "case.ss" "srfi" "87")) \ No newline at end of file