Now that I've slept, maybe I'll understand.  Can we try again

Stefan Monnier wrote:
> > If symbols created by let refer to an abstract concept then you're
>
> `let' does not create symbols.
>

Ok, semantic error.  From the point of view of a program the
symbol is being created and destroyed but actually it must
just be getting interned and uninterned.  I don't know of a
way to tell the difference but I can't think of a reason I'd
need to know other than to use the correct term here.

So if I conceed it isn't being `created' and you replace my
erroneous use of create with intern does it make any difference?
If not, what explains this?

(defun test ()
  (let (foo)
    (put 'foo 'hold "this ")
    (symbol-plist 'foo)))
=> test

(unintern "foo")
=> t

(symbol-plist 'foo)
=> nil

(test)
=> (hold "this ")

(symbol-plist 'foo)
=> nil

The lifetime of the plist is obviously limited.

_______________________________________________
Help-gnu-emacs mailing list
Help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

Reply via email to