[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
srfi-17 generates "deprecated" warnings
From: |
Alan Grover |
Subject: |
srfi-17 generates "deprecated" warnings |
Date: |
Wed, 16 Mar 2005 22:13:27 -0500 |
User-agent: |
Mozilla Thunderbird 0.7 (X11/20040615) |
The exports in srfi/srfi-17.scm cause a "deprecated" warning. Attempting
to use ":re-export" in "define-modules" breaks "set!".
Reproducible: always
Severity: annoying
Guile 1.6.4
Linux xxxxx 2.6.5-7.145-default #1 Thu Jan 27 09:19:29 UTC 2005 i686
i686 i386 GNU/Linux
buildstamp = Tue Apr 6 01:50:48 UTC 2004
LIBS = -lqthreads -lpthread -lcrypt -lm
libguileinterface = 15:0:3
guileversion = 1.6.4
To Reproduce:
guile -c '(use-modules (srfi srfi-17)) (define x (list 1 2)) (set! (cdr
x) 3) (write x)(newline)'
"Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message."
Setting the environment variable as suggested causes a long list
starting with:
"Using `export' to re-export imported bindings is deprecated. Use
`re-export' instead.
(You just re-exported `setter' from `(srfi srfi-17)'.)
(You just re-exported `car' from `(srfi srfi-17)'.)
(You just re-exported `cdr' from `(srfi srfi-17)'.)
(You just re-exported `caar' from `(srfi srfi-17)'.)
..."
Attempting to use ":re-export" in "define-modules" causes "set!" to break:
ERROR: In procedure setter:
ERROR: Wrong type argument in position 1: #<primitive-procedure cdr>
Moving the exports to the end of the file works:
(this isn't supposed to be different from using ":export" in
"define-modules")
-- orig/srfi-17.scm
+++ mod/srfi-17.scm
@@ -68,13 +68,8 @@
;;; Code:
(define-module (srfi srfi-17)
- :export (getter-with-setter
- setter
- ;; redefined standard procedures
- car cdr caar cadr cdar cddr caaar caadr cadar caddr cdaar
- cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr
- caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr
- cdddar cddddr string-ref vector-ref))
+ :export (getter-with-setter)
+ :re-export (setter))
(cond-expand-provide (current-module) '(srfi-17))
@@ -127,4 +122,10 @@
(define string-ref (getter-with-setter string-ref string-set!))
(define vector-ref (getter-with-setter vector-ref vector-set!))
+(export
+ ;; redefined standard procedures
+ car cdr caar cadr cdar cddr caaar caadr cadar caddr cdaar
+ cdadr cddar cdddr caaaar caaadr caadar caaddr cadaar cadadr
+ caddar cadddr cdaaar cdaadr cdadar cdaddr cddaar cddadr
+ cdddar cddddr string-ref vector-ref)
;;; srfi-17.scm ends here
--
Alan Grover
address@hidden
+1.734.476.0969
- srfi-17 generates "deprecated" warnings,
Alan Grover <=