mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-02 13:00: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
|
||||
;; 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))
|
||||
:export (getopt-long option-ref))
|
||||
|
||||
(define option-spec-fields '(name
|
||||
value
|
||||
required?
|
||||
single-char
|
||||
predicate
|
||||
value-policy))
|
||||
(eval-case
|
||||
((load-toplevel compile-toplevel)
|
||||
|
||||
;; This binding is used both at compile-time and run-time.
|
||||
|
||||
(define option-spec-fields '(name
|
||||
value
|
||||
required?
|
||||
single-char
|
||||
predicate
|
||||
value-policy))))
|
||||
|
||||
(define option-spec (make-record-type 'option-spec option-spec-fields))
|
||||
(define make-option-spec (record-constructor option-spec option-spec-fields))
|
||||
|
||||
(define (define-one-option-spec-field-accessor field)
|
||||
`(define ,(symbol-append 'option-spec-> field) ;;; name slib-compat
|
||||
(record-accessor option-spec ',field)))
|
||||
(eval-case
|
||||
((compile-toplevel)
|
||||
|
||||
(define (define-one-option-spec-field-modifier field)
|
||||
`(define ,(symbol-append 'set-option-spec- field '!) ;;; name slib-compat
|
||||
(record-modifier option-spec ',field)))
|
||||
;; The following procedures are used only at compile-time when expanding
|
||||
;; `define-all-option-spec-accessors/modifiers' (see below).
|
||||
|
||||
(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 ()
|
||||
`(begin
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue