[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gentemp deprecation

From: Martin Grabmueller
Subject: Re: gentemp deprecation
Date: Wed, 16 May 2001 22:03:00 +0200

> From: "Dale P. Smith" <address@hidden>
> Date: Wed, 16 May 2001 15:19:41 -0400
> BTW: gensym does not return unique symbols:
> guile> (gensym)
> g0
> guile> (define g1 'foo)
> guile> (gensym)
> g1
> Wasn't this fixed a while back?  Or was that gentemp?

Well, it was noticed a while ago, but AFAICT, nobody fixed it.  I
wanted to wait for Marius vcell patch, which affected symbols as well.

The problem is that I can not imagine a way to safely create unique
symbols, since the only functions left for creating symbols are

  extern SCM scm_mem2symbol (const char*, scm_sizet);
  extern SCM scm_str2symbol (const char*);

which both enter the symbol into the global symbol hash table.  So it
is always possible to create symbols (i.e. with string->symbol) eq? to
symbols returned by gensym.  Can anyone else think of a solution here?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]