From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Miles Bader Newsgroups: gmane.emacs.devel Subject: Re: Threads in emacs implementation Date: Thu, 16 Jun 2005 08:26:29 +0900 Message-ID: References: <6dbd4d0005060619227dd41364@mail.gmail.com> <87vf4oaft8.fsf@zemdatav.stor.no-ip.org> <4nd5quav0o.fsf@lifelogs.com> <4nll5btxv7.fsf@lifelogs.com> Reply-To: snogglethorpe@gmail.com, miles@gnu.org NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: sea.gmane.org 1118888700 29321 80.91.229.2 (16 Jun 2005 02:25:00 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 16 Jun 2005 02:25:00 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 16 04:24:57 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Dik3j-0002vy-Kc for ged-emacs-devel@m.gmane.org; Thu, 16 Jun 2005 04:24:47 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Dik93-0004zT-LI for ged-emacs-devel@m.gmane.org; Wed, 15 Jun 2005 22:30:17 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Dik73-0004Ga-Ng for emacs-devel@gnu.org; Wed, 15 Jun 2005 22:28:13 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Dik6u-000498-0p for emacs-devel@gnu.org; Wed, 15 Jun 2005 22:28:07 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Dik6q-00043z-Bn for emacs-devel@gnu.org; Wed, 15 Jun 2005 22:28:00 -0400 Original-Received: from [64.233.184.193] (helo=wproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Diju6-00032b-HF for emacs-devel@gnu.org; Wed, 15 Jun 2005 22:14:50 -0400 Original-Received: by wproxy.gmail.com with SMTP id 40so66505wri for ; Wed, 15 Jun 2005 19:13:09 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=NF4qxX/3YQW1HYrZggrudYot8re7pwntBn7QA9Il0YqXbUNyoiAgOqMfwggQcGdDOKeYilyKPt9mt5D/9L0lHNmWTuoEHLMyTRr9kLI3XtGsZI3vrDXdJdd7eDlI3EhRi40cMjOLhJBzczdsJZuejvghX7XC3JcLDOnrlw2nIl4= Original-Received: by 10.54.17.22 with SMTP id 22mr3532wrq; Wed, 15 Jun 2005 16:26:29 -0700 (PDT) Original-Received: by 10.54.19.31 with HTTP; Wed, 15 Jun 2005 16:26:29 -0700 (PDT) Original-To: Ted Zlatanov In-Reply-To: <4nll5btxv7.fsf@lifelogs.com> Content-Disposition: inline X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:38921 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:38921 On 6/16/05, Ted Zlatanov wrote: > I'm not sure I understand the problem. Do you mean that if a user > changes variable A in thread 1, he expects thread 2 to also notice the > change for certain global variables? That's easy to do, if you > consider that such global variables are few and far between compared > to local per-thread variables. This is not really true for typical elisp programs -- global variables (especially buffer-local global variables) are used extremely often, and in almost every case must be "truly global" (visible in all threads). However, if a global variable is let-bound, the let-binding should of course be thread-local. My personal feeling is that it may be easiest to simply move to a deep-binding system for elisp (and ideally use lexical-binding for local variables), but such a change may be a lot of work given the myriad special varieties of variable bindings (buffer-local etc). -Miles --=20 Do not taunt Happy Fun Ball.