unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#16153: 24.3.50; (gv-ref (car (cdr x))) => strange expression
@ 2013-12-15  6:29 Michael Heerdegen
  2013-12-15  6:51 ` Michael Heerdegen
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2013-12-15  6:29 UTC (permalink / raw)
  To: 16153


Hi,

Sorry if I speak nonsense, but that doesn't make sense to me:

(setq x '(1 (2 3) 4))

(setq ref (gv-ref (car (cdr x))))

  ==>
  
   ((lambda nil
     (car #1=#:v))
    lambda
    (gv--val)
    (setcar #1# gv--val))


(gv-deref ref)

Symbol's value as variable is void: #:v

Seems like `gv-letplace' is constructing an illegitimate expression with
a free variable here.


Regards,

Michael.




In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.8.4)
 of 2013-11-13 on drachen
Windowing system distributor `The X.Org Foundation', version 11.0.11403000
System Description:	Debian GNU/Linux testing (jessie)

Configured using:
 `configure --prefix=/usr/local/built/'

Important settings:
  value of $LC_ALL: de_DE.utf8
  value of $LC_COLLATE: C
  value of $LC_TIME: C
  value of $LANG: de_DE.utf8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#16153: 24.3.50; (gv-ref (car (cdr x))) => strange expression
  2013-12-15  6:29 bug#16153: 24.3.50; (gv-ref (car (cdr x))) => strange expression Michael Heerdegen
@ 2013-12-15  6:51 ` Michael Heerdegen
  2013-12-15 13:02   ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2013-12-15  6:51 UTC (permalink / raw)
  To: 16153

Michael Heerdegen <michael_heerdegen@web.de> writes:

> Symbol's value as variable is void: #:v

Oh, let me add that this doesn't happen with lexical-binding.  But I
guess it should work for dynamic binding as well.


Regards,

Michael.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#16153: 24.3.50; (gv-ref (car (cdr x))) => strange expression
  2013-12-15  6:51 ` Michael Heerdegen
@ 2013-12-15 13:02   ` Stefan Monnier
  2013-12-16  0:32     ` Michael Heerdegen
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2013-12-15 13:02 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: 16153

>> Symbol's value as variable is void: #:v
> Oh, let me add that this doesn't happen with lexical-binding.  But I
> guess it should work for dynamic binding as well.

In general, `gv-ref' only works with lexical-binding.


        Stefan





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#16153: 24.3.50; (gv-ref (car (cdr x))) => strange expression
  2013-12-15 13:02   ` Stefan Monnier
@ 2013-12-16  0:32     ` Michael Heerdegen
  2013-12-16 19:11       ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2013-12-16  0:32 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 16153

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

> In general, `gv-ref' only works with lexical-binding.

I see.  Maybe say this somewhere - in the doc string, or at least in the
source code.  It's IMHO not obvious (or is it?).


Thanks,

Michael.





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#16153: 24.3.50; (gv-ref (car (cdr x))) => strange expression
  2013-12-16  0:32     ` Michael Heerdegen
@ 2013-12-16 19:11       ` Stefan Monnier
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Monnier @ 2013-12-16 19:11 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: 16153-done

>> In general, `gv-ref' only works with lexical-binding.
> I see.  Maybe say this somewhere - in the doc string, or at least in the
> source code.  It's IMHO not obvious (or is it?).

I added a note in the docstring, thank you,


        Stefan





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-12-16 19:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-15  6:29 bug#16153: 24.3.50; (gv-ref (car (cdr x))) => strange expression Michael Heerdegen
2013-12-15  6:51 ` Michael Heerdegen
2013-12-15 13:02   ` Stefan Monnier
2013-12-16  0:32     ` Michael Heerdegen
2013-12-16 19:11       ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).