mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-06 12:10:28 +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
|
;;;; 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
|
;;;; 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
|
;;;; it under the terms of the GNU General Public License as published by
|
||||||
|
@ -129,9 +129,9 @@
|
||||||
|
|
||||||
(define (excursion-function-syntax vars)
|
(define (excursion-function-syntax vars)
|
||||||
(let ((saved-value-names (map gensym vars))
|
(let ((saved-value-names (map gensym vars))
|
||||||
(tmp-var-name (gensym 'temp))
|
(tmp-var-name (gensym "temp"))
|
||||||
(swap-fn-name (gensym 'swap))
|
(swap-fn-name (gensym "swap"))
|
||||||
(thunk-name (gensym 'thunk)))
|
(thunk-name (gensym "thunk")))
|
||||||
`(lambda (,thunk-name)
|
`(lambda (,thunk-name)
|
||||||
(letrec ((,tmp-var-name #f)
|
(letrec ((,tmp-var-name #f)
|
||||||
(,swap-fn-name
|
(,swap-fn-name
|
||||||
|
@ -148,10 +148,10 @@
|
||||||
|
|
||||||
|
|
||||||
(define (getter-and-setter-syntax vars)
|
(define (getter-and-setter-syntax vars)
|
||||||
(let ((args-name (gensym 'args))
|
(let ((args-name (gensym "args"))
|
||||||
(an-arg-name (gensym 'an-arg))
|
(an-arg-name (gensym "an-arg"))
|
||||||
(new-val-name (gensym 'new-value))
|
(new-val-name (gensym "new-value"))
|
||||||
(loop-name (gensym 'loop))
|
(loop-name (gensym "loop"))
|
||||||
(kws (map symbol->keyword vars)))
|
(kws (map symbol->keyword vars)))
|
||||||
(list `(lambda ,args-name
|
(list `(lambda ,args-name
|
||||||
(let ,loop-name ((,args-name ,args-name))
|
(let ,loop-name ((,args-name ,args-name))
|
||||||
|
@ -184,10 +184,10 @@
|
||||||
(,loop-name (cddr ,args-name)))))))))
|
(,loop-name (cddr ,args-name)))))))))
|
||||||
|
|
||||||
(define (delegating-getter-and-setter-syntax vars get-delegate set-delegate)
|
(define (delegating-getter-and-setter-syntax vars get-delegate set-delegate)
|
||||||
(let ((args-name (gensym 'args))
|
(let ((args-name (gensym "args"))
|
||||||
(an-arg-name (gensym 'an-arg))
|
(an-arg-name (gensym "an-arg"))
|
||||||
(new-val-name (gensym 'new-value))
|
(new-val-name (gensym "new-value"))
|
||||||
(loop-name (gensym 'loop))
|
(loop-name (gensym "loop"))
|
||||||
(kws (map symbol->keyword vars)))
|
(kws (map symbol->keyword vars)))
|
||||||
(list `(lambda ,args-name
|
(list `(lambda ,args-name
|
||||||
(let ,loop-name ((,args-name ,args-name))
|
(let ,loop-name ((,args-name ,args-name))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue