From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul R Newsgroups: gmane.emacs.devel Subject: Re: multi-threaded Emacs Date: Thu, 11 Dec 2008 20:01:01 +0100 Message-ID: <878wqmcz9u.fsf@gmail.com> References: <87abbiody1.fsf@master.homenet> <874p1npvtj.fsf@master.homenet> <87ej0qci8g.fsf@master.homenet> <87y6yxm7xr.fsf@master.homenet> <87hc5gyn9x.fsf@master.homenet> <87ej0ixx97.fsf@master.homenet> <86skouwz8u.fsf@lifelogs.com> <86tz9asgdv.fsf@lifelogs.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1229022183 1916 80.91.229.12 (11 Dec 2008 19:03:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 11 Dec 2008 19:03:03 +0000 (UTC) Cc: emacs-devel@gnu.org To: Ted Zlatanov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Dec 11 20:04:07 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LAqpH-0003LS-T6 for ged-emacs-devel@m.gmane.org; Thu, 11 Dec 2008 20:03:56 +0100 Original-Received: from localhost ([127.0.0.1]:56645 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LAqo6-0002Xr-J5 for ged-emacs-devel@m.gmane.org; Thu, 11 Dec 2008 14:02:42 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LAqmb-0001gO-A4 for emacs-devel@gnu.org; Thu, 11 Dec 2008 14:01:09 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LAqmZ-0001ex-KI for emacs-devel@gnu.org; Thu, 11 Dec 2008 14:01:08 -0500 Original-Received: from [199.232.76.173] (port=60748 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LAqmZ-0001ep-F0 for emacs-devel@gnu.org; Thu, 11 Dec 2008 14:01:07 -0500 Original-Received: from mail-fx0-f17.google.com ([209.85.220.17]:50993) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LAqmY-0003T8-Qk for emacs-devel@gnu.org; Thu, 11 Dec 2008 14:01:07 -0500 Original-Received: by fxm10 with SMTP id 10so410388fxm.18 for ; Thu, 11 Dec 2008 11:01:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:references :date:in-reply-to:message-id:user-agent:mime-version:content-type; bh=bddKQ1eciaf9iYrD3+u6EziedA/b1PbnbjT13Nvczt8=; b=jIpC2w/ANIpbHyuyO9VmQjUlW36hD0cK+PhUh9kXEykdHg4t0nDAhqizs71FGdO6TL xKZga5Jbkqkp1g78eSydem0CQU29xdFQidWjRRTwUe+bMGZ9pL85MmDfCjZvnMbCgpT6 J860Fz/89UPBBmLeQZT3Q51yU29LXAZj/kems= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; b=NofRktEHeyN5xX0wRPKgnhDrJKLijp1xIA5oQHHjCLyBsNvrOiyVe+xELylo7hrrWe FITNWsSkQ2tHSFyGfgHaMu6MMt5QgoaIW/FDgcZjyrwFhakLZHLrD76snryb/buo6bfg D+mwol7ykLhhdcWKHVMfVC4Th/g7IA/wLnQq8= Original-Received: by 10.103.117.9 with SMTP id u9mr1362076mum.55.1229022065254; Thu, 11 Dec 2008 11:01:05 -0800 (PST) Original-Received: from ubuT42 (pdc35-1-82-242-132-111.fbx.proxad.net [82.242.132.111]) by mx.google.com with ESMTPS id 23sm1076812mun.21.2008.12.11.11.01.03 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 11 Dec 2008 11:01:04 -0800 (PST) In-Reply-To: <86tz9asgdv.fsf@lifelogs.com> (Ted Zlatanov's message of "Thu, 11 Dec 2008 12:42:20 -0600") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) 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:106814 Archived-At: SM> No, atomicity does not work that way, sadly. Ted> "atomic" was a bad word choice on my part. I meant "safe to put in Ted> an (atomically) body as you described it." I think if functions Ted> A and B are safe, then any function C that only uses A and B is Ted> safe too. Does that make more sense? I guess Stefan means he wants a way to operate within a transaction, so that the state of emacs (the state being defined by the all the values of every variables accessible from the scope) is either changed exactly as desired, or not touched at all. If C is defined as "A then B" with A and B atomics, then if you run C, and A is a success and B is a failure, then C won't have the 'atomic' property, because C will exit with state half changed. Now if you totaly avoid sequential execution (avoid the "imperative style"), so that you construct C of B and B of A, indeed having A atomic is enought. But any software, in particular emacs, is full of sequential processing with intermediate states between instructions. BTW, I'm not sure why stefan wants this atomic construction at the lisp level, but for sure I would be amazed to see that ! -- Paul