emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patch for fields of `struct buffer'


From: Tom Tromey
Subject: Re: Patch for fields of `struct buffer'
Date: Mon, 31 Jan 2011 07:29:06 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Stefan> I do not care too much about the mechanism itself.  What matters
Stefan> to me is:

Stefan> - the semantics exposed to Elisp, whee the main qualities are
Stefan>   cleanliness, compatibility with existing code, and compatibility with
Stefan>   the future goal of concurrency.

I have a bunch of questions here that I'll bring up later, in a
different message.

One easy one is whether a new thread should inherit thread-local
bindings from its parent thread.  Our initial implementation did
inherit, but later I found out that this is not common in the Lisp
world.

I.E., what should this display?

(defvar var 0)
(let ((var 1))
  (run-in-thread (lambda () (message "%d" var))))

Stefan> To the extent that they're hidden behind macros, the current changes
Stefan> seem fine (the move of vars to globals.h is not, tho, which is why
Stefan> I want globals.h to be auto-generated).

I can do this after my current patch is done.

Stefan> PS: BTW, the special Lisp_Object values like
Stefan> Lisp_Buffer_Local_Value have disappeared on the trunk, replaced
Stefan> by extra bits in the Symbol objects.

Yeah, I was mostly looking at the concurrency branch when writing.

Tom



reply via email to

[Prev in Thread] Current Thread [Next in Thread]