mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-05 03:30:24 +02:00
* calling.scm (excursion-function-syntax,
getter-and-setter-syntax, delegating-getter-and-setter-syntax): Call gensym with string argument. (Thanks to Dale P. Smith.)
This commit is contained in:
parent
484cd65682
commit
b68c1eed74
1 changed files with 12 additions and 12 deletions
|
@ -1,6 +1,6 @@
|
|||
;;;; calling.scm --- Calling Conventions
|
||||
;;;;
|
||||
;;;; Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
;;;; Copyright (C) 1995, 1996, 1997, 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
|
||||
|
@ -129,9 +129,9 @@
|
|||
|
||||
(define (excursion-function-syntax vars)
|
||||
(let ((saved-value-names (map gensym vars))
|
||||
(tmp-var-name (gensym 'temp))
|
||||
(swap-fn-name (gensym 'swap))
|
||||
(thunk-name (gensym 'thunk)))
|
||||
(tmp-var-name (gensym "temp"))
|
||||
(swap-fn-name (gensym "swap"))
|
||||
(thunk-name (gensym "thunk")))
|
||||
`(lambda (,thunk-name)
|
||||
(letrec ((,tmp-var-name #f)
|
||||
(,swap-fn-name
|
||||
|
@ -148,10 +148,10 @@
|
|||
|
||||
|
||||
(define (getter-and-setter-syntax vars)
|
||||
(let ((args-name (gensym 'args))
|
||||
(an-arg-name (gensym 'an-arg))
|
||||
(new-val-name (gensym 'new-value))
|
||||
(loop-name (gensym 'loop))
|
||||
(let ((args-name (gensym "args"))
|
||||
(an-arg-name (gensym "an-arg"))
|
||||
(new-val-name (gensym "new-value"))
|
||||
(loop-name (gensym "loop"))
|
||||
(kws (map symbol->keyword vars)))
|
||||
(list `(lambda ,args-name
|
||||
(let ,loop-name ((,args-name ,args-name))
|
||||
|
@ -184,10 +184,10 @@
|
|||
(,loop-name (cddr ,args-name)))))))))
|
||||
|
||||
(define (delegating-getter-and-setter-syntax vars get-delegate set-delegate)
|
||||
(let ((args-name (gensym 'args))
|
||||
(an-arg-name (gensym 'an-arg))
|
||||
(new-val-name (gensym 'new-value))
|
||||
(loop-name (gensym 'loop))
|
||||
(let ((args-name (gensym "args"))
|
||||
(an-arg-name (gensym "an-arg"))
|
||||
(new-val-name (gensym "new-value"))
|
||||
(loop-name (gensym "loop"))
|
||||
(kws (map symbol->keyword vars)))
|
||||
(list `(lambda ,args-name
|
||||
(let ,loop-name ((,args-name ,args-name))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue