mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-09 21:40:33 +02:00
Evaluate the export' and
re-export' forms at compile-time.
* module/ice-9/boot-9.scm (export, re-export): Evaluate at compile-time in addition to load/eval. * test-suite/tests/tree-il.test ("warnings")["unused-toplevel"]("unused but define-public"): Remove throw to `unresolved'.
This commit is contained in:
parent
628ddb80aa
commit
411313403c
2 changed files with 9 additions and 11 deletions
|
@ -1,6 +1,6 @@
|
|||
;;; -*- mode: scheme; coding: utf-8; -*-
|
||||
|
||||
;;;; Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009
|
||||
;;;; Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010
|
||||
;;;; Free Software Foundation, Inc.
|
||||
;;;;
|
||||
;;;; This library is free software; you can redistribute it and/or
|
||||
|
@ -3119,14 +3119,16 @@ module '(ice-9 q) '(make-q q-length))}."
|
|||
names)))
|
||||
|
||||
(defmacro export names
|
||||
`(call-with-deferred-observers
|
||||
(lambda ()
|
||||
(module-export! (current-module) ',names))))
|
||||
`(eval-when (eval load compile)
|
||||
(call-with-deferred-observers
|
||||
(lambda ()
|
||||
(module-export! (current-module) ',names)))))
|
||||
|
||||
(defmacro re-export names
|
||||
`(call-with-deferred-observers
|
||||
(lambda ()
|
||||
(module-re-export! (current-module) ',names))))
|
||||
`(eval-when (eval load compile)
|
||||
(call-with-deferred-observers
|
||||
(lambda ()
|
||||
(module-re-export! (current-module) ',names)))))
|
||||
|
||||
(defmacro export-syntax names
|
||||
`(export ,@names))
|
||||
|
|
|
@ -661,10 +661,6 @@
|
|||
#:opts %opts-w-unused-toplevel))))))
|
||||
|
||||
(pass-if "unused but define-public"
|
||||
;; FIXME: We don't handle this case for now because `define-public'
|
||||
;; expands to a relatively complex statement that's hard to match.
|
||||
(throw 'unresolved)
|
||||
|
||||
(null? (call-with-warnings
|
||||
(lambda ()
|
||||
(compile '(define-public foo 2)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue