1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-14 15:40:19 +02:00

Associate #:replace info with modules, not variables

* doc/ref/api-modules.texi (Creating Guile Modules): Document
  #:re-export-and-replace.
* module/ice-9/boot-9.scm (module-replacements): New module field.
  (make-module, make-autoload-interface): Initialize replacements to an
  empty hash table.
  (resolve-interface): Propagate replacement info when making custom
  interfaces.
  (define-module): Parse a #:re-export-and-replace keyword arg.
  (define-module*): Handle #:re-export-and-replace.
  (module-export!, module-re-export!): Add a keyword arg to indicate
  whether to replace or not.
  (module-replace!): Call module-export! with #:replace? #t.
  (duplicate-handlers): Update replace duplicate handler to look for
  replacement info on the interfaces.
* module/srfi/srfi-18.scm (srfi):
* module/srfi/srfi-34.scm (srfi): Update to #:re-export-and-replace
  raise-continuable as raise.
This commit is contained in:
Andy Wingo 2019-11-29 11:51:29 +01:00
parent 8304b15807
commit cf08dbdc18
4 changed files with 72 additions and 60 deletions

View file

@ -76,8 +76,8 @@
terminated-thread-exception?
uncaught-exception?
uncaught-exception-reason)
#:re-export ((raise-continuable . raise)
with-exception-handler)
#:re-export (with-exception-handler)
#:re-export-and-replace ((raise-continuable . raise))
#:replace (current-time
current-thread
thread?