mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-12-01 21:19:16 -06:00
0f637a6a41
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7026 57a11ea4-9604-0410-9ed3-97b8803252fd
46 lines
1.5 KiB
Scheme
46 lines
1.5 KiB
Scheme
;;;; srfi-8.scm --- SRFI-8 procedures for Guile
|
|
|
|
;;; Copyright (C) 2000 Free Software Foundation, Inc.
|
|
;;;
|
|
;;; This program is free software; you can redistribute it and/or
|
|
;;; modify it under the terms of the GNU General Public License as
|
|
;;; published by the Free Software Foundation; either version 2, or
|
|
;;; (at your option) any later version.
|
|
;;;
|
|
;;; This program is distributed in the hope that it will be useful,
|
|
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
;;; General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License
|
|
;;; along with this software; see the file COPYING. If not, write to
|
|
;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
|
;;; Boston, MA 02111-1307 USA
|
|
|
|
(define-module (srfi srfi-8))
|
|
|
|
(cond
|
|
((or (string=? "1.3" (version))
|
|
(string=? "1.3.4" (version))
|
|
(string=? "1.4" (substring (version) 0 3)))
|
|
|
|
(use-modules (ice-9 slib))
|
|
(require 'macro-by-example)
|
|
(require 'values)
|
|
|
|
(define-syntax receive
|
|
(syntax-rules ()
|
|
((receive formals expression body ...)
|
|
(call-with-values (lambda () expression)
|
|
(lambda formals body ...))))))
|
|
|
|
(else
|
|
(let ((msg
|
|
(string-append
|
|
"Loaded gnucash srfi-8.scm in unknown Guile version:" (version) ".\n"
|
|
"If you're running a Guile newer than 1.4, then this file should\n"
|
|
"not have been installed. Please report the bug.")))
|
|
(error msg))))
|
|
|
|
(export-syntax receive)
|