> > and use of functions such as fset and put have undefined results > > (which I showed in my examples). > > No, you didn't. You uninterned the symbol, after which it was no > longer available under the name 'foo. > > But if you had done (setq woozle 'foo) before uninterning it, > woozle would have continued to be a perfectly valid handle to the > symbol, even though 'foo no longer was able to access it.
After all the coding I've done I had no idea my understanding of what was going on was so fundamentally flawed. It's easy to pinpoint just where this missunderstanding stems from though. Elisp reference: 8. Symbols A symbol is an object with a unique name. 8.3 Creating and Interning Symbols To understand how symbols are created in GNU Emacs Lisp, you must know how Lisp reads them. Lisp must ensure that it finds the same symbol every time it reads the same set of characters. Failure to do so would cause complete confusion. I was under the impression that let must be creating a symbol with the name I specified if one didn't already exist. Many tests seemed to confirm this view but some did not, triggering this dialog. What you appear to be saying is that 1. symbols do not have unique names they have unique handles. 2. the lisp reader won't necessarily find the same symbol every time. It will find whatever symbol is interned in the global obarray with a name equal to the name being read at the time. So, although it almost always is the same, nothing actually ensures it is the same. Hopefully there are no more such flaws in my understanding. I appreciate all the patience, and more importantly, persistance in getting me straightened out. Thanks _______________________________________________ Help-gnu-emacs mailing list Help-gnu-emacs@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnu-emacs