slib-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Slib-discuss] Warning with guile-2.init and guile-3.0


From: Nick Gasson
Subject: [Slib-discuss] Warning with guile-2.init and guile-3.0
Date: Sat, 19 Dec 2020 19:59:15 +0800
User-agent: mu4e 1.4.13; emacs 27.1

Hi,

I've been updating the Debian packaging for slib. With guile-3.0,
guile-2.init gives the following warning (but otherwise works ok):

WARNING: Use of `load' in declarative module (ice-9 slib).  Add #:declarative? 
#f to your define-module invocation.

Unfortunately older versions of Guile don't accept #:declarative? #f in
define-module so I had to do the ugly hack below with cond-expand. Not
sure if there's any better way to do this?

--
Thanks,
Nick


diff --git guile-2.init guile-2.init
index 7c8b540..4cfa2dd 100755
--- guile-2.init
+++ guile-2.init
@@ -4,172 +4,340 @@
 ;;;
 ;;; This code is in the public domain.
 
+;;; The duplicated define-module here is because we need to pass
+;;; #:declarative #f for Guile 3.0 to avoid a warning about using (load)
+;;; in a declarative module. But Guile 2.x does not support this
+;;; keyword.
 (cond-expand
- (guile-2)
- (else
-  (error "Guile 2.0 or later is required.")))
-
-(define-module (ice-9 slib)
-  #:use-module ((ice-9 popen) #:select (open-input-pipe close-pipe))
-  #:use-module ((ice-9 rdelim) #:select (read-line read-line! write-line))
-  #:re-export (read-line read-line! write-line)
-  #:export (<=?
-            <?
-            =?
-            >=?
-            >?
-            A:bool
-            A:fixN16b
-            A:fixN32b
-            A:fixN64b
-            A:fixN8b
-            A:fixZ16b
-            A:fixZ32b
-            A:fixZ64b
-            A:fixZ8b
-            A:floC128b
-            A:floC16b
-            A:floC32b
-            A:floC64b
-            A:floR128b
-            A:floR128d
-            A:floR16b
-            A:floR32b
-            A:floR32d
-            A:floR64b
-            A:floR64d
-            a:bool
-            a:fixn16b
-            a:fixn32b
-            a:fixn64b
-            a:fixn8b
-            a:fixz16b
-            a:fixz32b
-            a:fixz64b
-            a:fixz8b
-            a:floc128b
-            a:floc16b
-            a:floc32b
-            a:floc64b
-            a:flor128b
-            a:flor128d
-            a:flor16b
-            a:flor32b
-            a:flor32d
-            a:flor64b
-            a:flor64d
-            any-bits-set?
-            arithmetic-shift
-            array-indexes
-            array-null?
-            array:copy!
-            ;; ac32
-            ;; ac64
-            ;; ar32
-            ;; ar64
-            ;; as16
-            ;; as32
-            ;; as64
-            ;; as8
-            ;; at1
-            ;; au16
-            ;; au32
-            ;; au64
-            ;; au8
-            bit-field
-            bit-reverse
-            bit-set?
-            bitwise-and
-            bitwise-if
-            bitwise-ior
-            bitwise-merge
-            bitwise-not
-            bitwise-xor
-            booleans->integer
-            browse-url
-            call-with-open-ports
-            copy-bit
-            copy-bit-field
-            create-array
-            ;;define
-            defmacro:eval
-            defmacro:expand*
-            defmacro:load
-            ;;delete-file
-            difftime
-            ;;file-position
-            first-set-bit
-            gentemp
-            home-vicinity
-            implementation-vicinity
-            integer->list
-            library-vicinity
-            list->array
-            list->integer
-            log2-binary-factors
-            logical:ash
-            logical:bit-extract
-            logical:integer-expt
-            logical:integer-length
-            ;;logical:ipow-by-squaring
-            logical:logand
-            logical:logcount
-            logical:logior
-            logical:lognot
-            logical:logxor
-            macro:eval
-            macro:load
-            make-array
-            make-exchanger
-            make-random-state
-            ;;make-uniform-wrapper
-            make-vicinity
-            ;; nil
-            offset-time
-            ;;open-file
-            output-port-height
-            output-port-width
-            pathname->vicinity
-            program-vicinity
-            random:chunk
-            reverse-bit-field
-            rotate-bit-field
-            scheme-implementation-home-page
-            scheme-implementation-type
-            scheme-implementation-version
-            ;; slib-module
-            slib:error
-            slib:eval
-            slib:eval-load
-            slib:exit
-            ;; slib:features
-            slib:form-feed
-            slib:load
-            slib:load-compiled
-            slib:load-source
-            slib:tab
-            slib:warn
-            software-type
-            sub-vicinity
-            ;;system
-            system->line
-            ;; t
-            user-vicinity
-            vector->array
-            ;; vicinity:suffix?
-            ;; with-load-pathname
-            )
-  #:replace (file-position
-             system
-             open-file
-             delete-file
-             char-code-limit
-             scheme-file-suffix
-             gentemp
-             make-array
-             list->array
-             provide
-             provided?))
+ (guile-3
+  (define-module (ice-9 slib)
+    #:use-module ((ice-9 popen) #:select (open-input-pipe close-pipe))
+    #:use-module ((ice-9 rdelim) #:select (read-line read-line! write-line))
+    #:re-export (read-line read-line! write-line)
+    #:declarative? #f
+    #:export (<=?
+              <?
+              =?
+              >=?
+              >?
+              A:bool
+              A:fixN16b
+              A:fixN32b
+              A:fixN64b
+              A:fixN8b
+              A:fixZ16b
+              A:fixZ32b
+              A:fixZ64b
+              A:fixZ8b
+              A:floC128b
+              A:floC16b
+              A:floC32b
+              A:floC64b
+              A:floR128b
+              A:floR128d
+              A:floR16b
+              A:floR32b
+              A:floR32d
+              A:floR64b
+              A:floR64d
+              a:bool
+              a:fixn16b
+              a:fixn32b
+              a:fixn64b
+              a:fixn8b
+              a:fixz16b
+              a:fixz32b
+              a:fixz64b
+              a:fixz8b
+              a:floc128b
+              a:floc16b
+              a:floc32b
+              a:floc64b
+              a:flor128b
+              a:flor128d
+              a:flor16b
+              a:flor32b
+              a:flor32d
+              a:flor64b
+              a:flor64d
+              any-bits-set?
+              arithmetic-shift
+              array-indexes
+              array-null?
+              array:copy!
+              ;; ac32
+              ;; ac64
+              ;; ar32
+              ;; ar64
+              ;; as16
+              ;; as32
+              ;; as64
+              ;; as8
+              ;; at1
+              ;; au16
+              ;; au32
+              ;; au64
+              ;; au8
+              bit-field
+              bit-reverse
+              bit-set?
+              bitwise-and
+              bitwise-if
+              bitwise-ior
+              bitwise-merge
+              bitwise-not
+              bitwise-xor
+              booleans->integer
+              browse-url
+              call-with-open-ports
+              copy-bit
+              copy-bit-field
+              create-array
+              ;;define
+              defmacro:eval
+              defmacro:expand*
+              defmacro:load
+              ;;delete-file
+              difftime
+              ;;file-position
+              first-set-bit
+              gentemp
+              home-vicinity
+              implementation-vicinity
+              integer->list
+              library-vicinity
+              list->array
+              list->integer
+              log2-binary-factors
+              logical:ash
+              logical:bit-extract
+              logical:integer-expt
+              logical:integer-length
+              ;;logical:ipow-by-squaring
+              logical:logand
+              logical:logcount
+              logical:logior
+              logical:lognot
+              logical:logxor
+              macro:eval
+              macro:load
+              make-array
+              make-exchanger
+              make-random-state
+              ;;make-uniform-wrapper
+              make-vicinity
+              ;; nil
+              offset-time
+              ;;open-file
+              output-port-height
+              output-port-width
+              pathname->vicinity
+              program-vicinity
+              random:chunk
+              reverse-bit-field
+              rotate-bit-field
+              scheme-implementation-home-page
+              scheme-implementation-type
+              scheme-implementation-version
+              ;; slib-module
+              slib:error
+              slib:eval
+              slib:eval-load
+              slib:exit
+              ;; slib:features
+              slib:form-feed
+              slib:load
+              slib:load-compiled
+              slib:load-source
+              slib:tab
+              slib:warn
+              software-type
+              sub-vicinity
+              ;;system
+              system->line
+              ;; t
+              user-vicinity
+              vector->array
+              ;; vicinity:suffix?
+              ;; with-load-pathname
+              )
+    #:replace (file-position
+               system
+               open-file
+               delete-file
+               char-code-limit
+               scheme-file-suffix
+               gentemp
+               make-array
+               list->array
+               provide
+               provided?)))
+
+  (guile-2
+   (define-module (ice-9 slib)
+    #:use-module ((ice-9 popen) #:select (open-input-pipe close-pipe))
+    #:use-module ((ice-9 rdelim) #:select (read-line read-line! write-line))
+    #:re-export (read-line read-line! write-line)
+    #:export (<=?
+              <?
+              =?
+              >=?
+              >?
+              A:bool
+              A:fixN16b
+              A:fixN32b
+              A:fixN64b
+              A:fixN8b
+              A:fixZ16b
+              A:fixZ32b
+              A:fixZ64b
+              A:fixZ8b
+              A:floC128b
+              A:floC16b
+              A:floC32b
+              A:floC64b
+              A:floR128b
+              A:floR128d
+              A:floR16b
+              A:floR32b
+              A:floR32d
+              A:floR64b
+              A:floR64d
+              a:bool
+              a:fixn16b
+              a:fixn32b
+              a:fixn64b
+              a:fixn8b
+              a:fixz16b
+              a:fixz32b
+              a:fixz64b
+              a:fixz8b
+              a:floc128b
+              a:floc16b
+              a:floc32b
+              a:floc64b
+              a:flor128b
+              a:flor128d
+              a:flor16b
+              a:flor32b
+              a:flor32d
+              a:flor64b
+              a:flor64d
+              any-bits-set?
+              arithmetic-shift
+              array-indexes
+              array-null?
+              array:copy!
+              ;; ac32
+              ;; ac64
+              ;; ar32
+              ;; ar64
+              ;; as16
+              ;; as32
+              ;; as64
+              ;; as8
+              ;; at1
+              ;; au16
+              ;; au32
+              ;; au64
+              ;; au8
+              bit-field
+              bit-reverse
+              bit-set?
+              bitwise-and
+              bitwise-if
+              bitwise-ior
+              bitwise-merge
+              bitwise-not
+              bitwise-xor
+              booleans->integer
+              browse-url
+              call-with-open-ports
+              copy-bit
+              copy-bit-field
+              create-array
+              ;;define
+              defmacro:eval
+              defmacro:expand*
+              defmacro:load
+              ;;delete-file
+              difftime
+              ;;file-position
+              first-set-bit
+              gentemp
+              home-vicinity
+              implementation-vicinity
+              integer->list
+              library-vicinity
+              list->array
+              list->integer
+              log2-binary-factors
+              logical:ash
+              logical:bit-extract
+              logical:integer-expt
+              logical:integer-length
+              ;;logical:ipow-by-squaring
+              logical:logand
+              logical:logcount
+              logical:logior
+              logical:lognot
+              logical:logxor
+              macro:eval
+              macro:load
+              make-array
+              make-exchanger
+              make-random-state
+              ;;make-uniform-wrapper
+              make-vicinity
+              ;; nil
+              offset-time
+              ;;open-file
+              output-port-height
+              output-port-width
+              pathname->vicinity
+              program-vicinity
+              random:chunk
+              reverse-bit-field
+              rotate-bit-field
+              scheme-implementation-home-page
+              scheme-implementation-type
+              scheme-implementation-version
+              ;; slib-module
+              slib:error
+              slib:eval
+              slib:eval-load
+              slib:exit
+              ;; slib:features
+              slib:form-feed
+              slib:load
+              slib:load-compiled
+              slib:load-source
+              slib:tab
+              slib:warn
+              software-type
+              sub-vicinity
+              ;;system
+              system->line
+              ;; t
+              user-vicinity
+              vector->array
+              ;; vicinity:suffix?
+              ;; with-load-pathname
+              )
+    #:replace (file-position
+               system
+               open-file
+               delete-file
+               char-code-limit
+               scheme-file-suffix
+               gentemp
+               make-array
+               list->array
+               provide
+               provided?)))
+
+  (else
+   (error "Guile 2.0 or later is required.")))
 
 (module-export-all! (current-module))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]