GNU bug report logs -
#23781
25.0.95; read-string with HIST lexically bound
Previous Next
Reported by: Tino Calancha <f92capac <at> gmail.com>
Date: Fri, 17 Jun 2016 05:20:01 UTC
Severity: normal
Tags: fixed
Found in version 25.0.95
Fixed in version 25.1
Done: npostavs <at> users.sourceforge.net
Bug is archived. No further changes may be made.
Full log
Message #29 received at 23781 <at> debbugs.gnu.org (full text, mbox):
On Sat, 25 Jun 2016 12:53:18 -0400 Noam Postavsky <npostavs <at> users.sourceforge.net> wrote:
> On Sat, Jun 25, 2016 at 6:12 AM, Stephen Berman <stephen.berman <at> gmx.net> wrote:
>> On Fri, 24 Jun 2016 20:26:45 -0400 Noam Postavsky
>> <npostavs <at> users.sourceforge.net> wrote:
>>
>>> On Thu, Jun 23, 2016 at 7:18 PM, Drew Adams <drew.adams <at> oracle.com> 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.
Well, the info node `(elisp) Variables' says:
In Lisp, each variable is represented by a Lisp symbol (see
Symbols::). The variable name is simply the symbol’s name [...]
and a symbol's name is a string (according to `symbol-name'). But maybe
we should leave the bike shed before this gets too philosophical ;-)
Steve Berman
This bug report was last modified 8 years and 329 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.