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:
parent
8304b15807
commit
cf08dbdc18
4 changed files with 72 additions and 60 deletions
|
@ -1,6 +1,6 @@
|
|||
;;; srfi-34.scm --- Exception handling for programs
|
||||
|
||||
;; Copyright (C) 2003, 2006, 2008, 2010 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2003, 2006, 2008, 2010, 2019 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; This library is free software; you can redistribute it and/or
|
||||
;; modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -29,6 +29,7 @@
|
|||
(define-module (srfi srfi-34)
|
||||
#:re-export (with-exception-handler
|
||||
(raise-exception . raise))
|
||||
#:re-export-and-replace ((raise-exception . raise))
|
||||
#:export-syntax (guard))
|
||||
|
||||
(cond-expand-provide (current-module) '(srfi-34))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue