guile-devel
[Top][All Lists]
Advanced

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

[PATCH 1/2] srfi-34: Replace the 'raise' core binding.


From: Ludovic Courtès
Subject: [PATCH 1/2] srfi-34: Replace the 'raise' core binding.
Date: Mon, 25 Nov 2019 17:45:54 +0100

In Guile 2.x, (srfi srfi-34) would already replace 'raise'.  Replacing
avoids a run-time warning about the core binding being overridden.

* module/srfi/srfi-34.scm (raise): New variable.
Mark it as #:replace instead of #:re-export.
---
 module/srfi/srfi-34.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/module/srfi/srfi-34.scm b/module/srfi/srfi-34.scm
index 0e7ad995d..255bfecb9 100644
--- a/module/srfi/srfi-34.scm
+++ b/module/srfi/srfi-34.scm
@@ -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
@@ -27,12 +27,16 @@
 ;;; Code:
 
 (define-module (srfi srfi-34)
-  #:re-export (with-exception-handler
-               (raise-exception . raise))
+  #:re-export (with-exception-handler)
+  #:replace (raise)
   #:export-syntax (guard))
 
 (cond-expand-provide (current-module) '(srfi-34))
 
+(define (raise exn)
+  "Raise the given exception, invoking the current exception handler on EXN."
+  (raise-exception exn))
+
 (define-syntax guard
   (syntax-rules (else)
     "Syntax: (guard (<var> <clause1> <clause2> ...) <body>)
-- 
2.24.0




reply via email to

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