mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-03 13:20:26 +02:00
Fix compilation of `(ice-9 getopt-long)'.
* module/ice-9/getopt-long.scm (option-spec-fields): Enclose in a `(load-toplevel compile-toplevel)' `eval-case'. (define-one-option-spec-field-accessor, define-one-option-spec-field-modifier): Enclose in a `compile-toplevel'-only `eval-case'.
This commit is contained in:
parent
6d77c6efa0
commit
d39b967642
1 changed files with 24 additions and 13 deletions
|
@ -1,4 +1,4 @@
|
||||||
;;; Copyright (C) 1998, 2001, 2006 Free Software Foundation, Inc.
|
;;; Copyright (C) 1998, 2001, 2006, 2009 Free Software Foundation, Inc.
|
||||||
;;;
|
;;;
|
||||||
;; This library is free software; you can redistribute it and/or
|
;; This library is free software; you can redistribute it and/or
|
||||||
;; modify it under the terms of the GNU Lesser General Public
|
;; modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -160,23 +160,34 @@
|
||||||
:use-module ((ice-9 common-list) :select (some remove-if-not))
|
:use-module ((ice-9 common-list) :select (some remove-if-not))
|
||||||
:export (getopt-long option-ref))
|
:export (getopt-long option-ref))
|
||||||
|
|
||||||
(define option-spec-fields '(name
|
(eval-case
|
||||||
value
|
((load-toplevel compile-toplevel)
|
||||||
required?
|
|
||||||
single-char
|
;; This binding is used both at compile-time and run-time.
|
||||||
predicate
|
|
||||||
value-policy))
|
(define option-spec-fields '(name
|
||||||
|
value
|
||||||
|
required?
|
||||||
|
single-char
|
||||||
|
predicate
|
||||||
|
value-policy))))
|
||||||
|
|
||||||
(define option-spec (make-record-type 'option-spec option-spec-fields))
|
(define option-spec (make-record-type 'option-spec option-spec-fields))
|
||||||
(define make-option-spec (record-constructor option-spec option-spec-fields))
|
(define make-option-spec (record-constructor option-spec option-spec-fields))
|
||||||
|
|
||||||
(define (define-one-option-spec-field-accessor field)
|
(eval-case
|
||||||
`(define ,(symbol-append 'option-spec-> field) ;;; name slib-compat
|
((compile-toplevel)
|
||||||
(record-accessor option-spec ',field)))
|
|
||||||
|
|
||||||
(define (define-one-option-spec-field-modifier field)
|
;; The following procedures are used only at compile-time when expanding
|
||||||
`(define ,(symbol-append 'set-option-spec- field '!) ;;; name slib-compat
|
;; `define-all-option-spec-accessors/modifiers' (see below).
|
||||||
(record-modifier option-spec ',field)))
|
|
||||||
|
(define (define-one-option-spec-field-accessor field)
|
||||||
|
`(define ,(symbol-append 'option-spec-> field) ;;; name slib-compat
|
||||||
|
(record-accessor option-spec ',field)))
|
||||||
|
|
||||||
|
(define (define-one-option-spec-field-modifier field)
|
||||||
|
`(define ,(symbol-append 'set-option-spec- field '!) ;;; name slib-compat
|
||||||
|
(record-modifier option-spec ',field)))))
|
||||||
|
|
||||||
(defmacro define-all-option-spec-accessors/modifiers ()
|
(defmacro define-all-option-spec-accessors/modifiers ()
|
||||||
`(begin
|
`(begin
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue