From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: What's the problem? Date: Sat, 13 Dec 2003 18:15:00 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: <4nad6cikxy.fsf@holmes.bwh.harvard.edu> <4nllpt3hr3.fsf@lockgroove.bwh.harvard.edu> <5bad69zd43.fsf@lister.roxen.com> <4noeuon378.fsf@lockgroove.bwh.harvard.edu> <4ny8tsgxy6.fsf@lockgroove.bwh.harvard.edu> <4nhe0ggv0u.fsf@lockgroove.bwh.harvard.edu> <4nk75bwjaf.fsf@lockgroove.bwh.harvard.edu> <4nsmjv8d32.fsf@collins.bwh.harvard.edu> <4nu14b6q33.fsf@collins.bwh.harvard. <4nad60og84.fsf@collins.bwh.harvard.edu> <4 Reply-To: rms@gnu.org NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1071357656 8637 80.91.224.253 (13 Dec 2003 23:20:56 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 13 Dec 2003 23:20:56 +0000 (UTC) Cc: jas@extundo.com, emacs-devel@gnu.org, stefan.monnier@yale.edu, mast@lysator.liu.se, miles@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Sun Dec 14 00:20:44 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AVJ40-0001BQ-00 for ; Sun, 14 Dec 2003 00:20:44 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1AVJ3z-0004So-01 for ; Sun, 14 Dec 2003 00:20:43 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AVJz2-0002lv-Q7 for emacs-devel@quimby.gnus.org; Sat, 13 Dec 2003 19:19:40 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AVJxw-0002OQ-Gb for emacs-devel@gnu.org; Sat, 13 Dec 2003 19:18:32 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AVJxM-0001wi-Pa for emacs-devel@gnu.org; Sat, 13 Dec 2003 19:18:27 -0500 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AVJxM-0001wG-9d for emacs-devel@gnu.org; Sat, 13 Dec 2003 19:17:56 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.24) id 1AVIyS-0003fY-ST; Sat, 13 Dec 2003 18:15:00 -0500 Original-To: Ted Zlatanov In-reply-to: <4nn09xm68c.fsf@collins.bwh.harvard.edu> (message from Ted Zlatanov on Sat, 13 Dec 2003 04:12:19 -0500) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:18679 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:18679 I think people on emacs-devel agreed that private binding stacks would work, but their concern was that it would slow down Emacs a lot if every read/write did a binding lookup (I am probably remembering things incorrectly, but that was my understanding). The values would be stored in the symbols, just as now. However, thread-switching would have to swap bindings in and out. Here's what I sent privately: This could work using shallow binding, if switching threads swaps out the bindings that shouldn't apply, then swaps in those that should. This is similar to the technique now used for buffer-local bindings when switching buffers; however, for buffer-switching, the swapping is done in a lazy fashion, but I don't see how that could be possible for thread-switching. So thread-switching would take some time. We would want to make sure it does not happen very often.