Subject: bug#23781: 25.0.95; read-string with HIST lexically bound

From: Noam Postavsky <[email-masked]>
Date: Sat, 25 Jun 2016 12:53:18 -0400

On Sat, Jun 25, 2016 at 6:12 AM, Stephen Berman <[email-masked]> wrote:
> On Fri, 24 Jun 2016 20:26:45 -0400 Noam Postavsky <[email-masked]> wrote:
>
>> On Thu, Jun 23, 2016 at 7:18 PM, Drew Adams <[email-masked]> wrote:
>>>> I think we should be a little more specific, not
>>>> just give examples, something like:
>>>>
>>>>     Note that functions which take a symbol argument (like
>>>>     ‘symbol-value’, ‘boundp’, and ‘set’) can only retrieve or modify a
>>>>     variable’s dynamic binding (i.e., the contents of its symbol’s
>>>>     value cell).
>>>
>>> Be even more specific: A Lisp symbol is a dynamic thing.
>>> It is an object.  Lexical binding has nothing to do with symbols.
>>> A given _name_ in code can sometimes be lexically bound.
>>
>> Hmm, this threatens to get a little philosophical, but that seems to
>> contradict earlier text in the same node:
>>
>>        Here is how lexical binding works.  Each binding construct
>>     defines a “lexical environment”, specifying the symbols that are
>>     bound within the construct and their local values.
>
> I think it's more a question of definition than philosophy: AFAIU using
> the word "symbols" here is strictly speaking incorrect; it should be
> "variables".

Yes, perhaps the implementation details leaked a bit too much into the
description. I think it remains the case that the name of a variable
is a symbol (as opposed to a string) though.