From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Ken Raeburn Newsgroups: gmane.emacs.devel Subject: Re: Can we go GTK-only? Date: Mon, 31 Oct 2016 04:24:31 -0400 Message-ID: <6CC38BDB-C5AB-4A52-8A71-7E8F43F0B9B3@raeburn.org> References: <24db2975-17ca-ad01-20c8-df12071fa89a@dancol.org> <4615E73A-19E2-4B79-9889-D3FA686DDDE6@raeburn.org> <11E61536-1345-4B81-999D-2E17F8B14C62@dancol.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1477902342 14464 195.159.176.226 (31 Oct 2016 08:25:42 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 31 Oct 2016 08:25:42 +0000 (UTC) Cc: Daniel Colascione , Stefan Monnier , emacs-devel@gnu.org To: YAMAMOTO Mitsuharu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 31 09:25:38 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c17u1-0008GB-QB for ged-emacs-devel@m.gmane.org; Mon, 31 Oct 2016 09:25:09 +0100 Original-Received: from localhost ([::1]:33931 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c17u4-0005Xm-Gd for ged-emacs-devel@m.gmane.org; Mon, 31 Oct 2016 04:25:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38293) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c17tW-0005XJ-9l for emacs-devel@gnu.org; Mon, 31 Oct 2016 04:24:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c17tT-0005Y5-4Y for emacs-devel@gnu.org; Mon, 31 Oct 2016 04:24:38 -0400 Original-Received: from mail-qk0-x232.google.com ([2607:f8b0:400d:c09::232]:36480) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c17tS-0005XT-Uv for emacs-devel@gnu.org; Mon, 31 Oct 2016 04:24:35 -0400 Original-Received: by mail-qk0-x232.google.com with SMTP id o68so154037128qkf.3 for ; Mon, 31 Oct 2016 01:24:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=2d9ZuDD3s62CLQszcQefllr7xjk3JM9dFnGX3wLFsOM=; b=wxI7poC//HKUcqaxSbSqU95Vka2FjHfqcfOGAHQ6yPWFfXzxdtnkidgrr/wkAvGb8z hnoM1G79eR2jL28R6ILBCJ7DgAVjxxQsxVOzMPfcW9Baxq+STf4SMD9MDDDNYnjlgUQ2 lutrjKoChVFIhRLFmFBiClJ1453LEM2EP3SX+6bFXXjNWlDNfBOB+a/rn7HQI2TPfQOO Db184nkA++lNVlS/IWPe34pmxhjj307kbfPhRYWNtwD959rKvTK0jogQkk+biG5FaHDM XsaJu0XbZNF1FC8uVA317mdP1CH8M+v/OjaTc7170DU4kVrgZ4MbKa/KJoLRddKSSc6J jWvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=2d9ZuDD3s62CLQszcQefllr7xjk3JM9dFnGX3wLFsOM=; b=E1OsA1su3klM+8Z7wjIRmKTgEVFIC8eKR4q3OBCYSMzRQtkYp9ORTzFsrr4hMYM31X EL1l9NWEqHHU5kASv7KHhIhBNAbLpOY/sYUHEeSsqqefvk9w4UIzW7/147qxO0gFHbOv JnRhdriG4YWCCz0Hs1pZIt33RJNrL8qiWuf3gOx6uwTIx3dgAbuZwEO28DMxqAvElCk3 h43Zdpk5blm4M5kZ6E1ODciC6eWuxcFsAEXn9c0tuJfKCSiaDnEm1c645dDTmhDzAZM9 nvrzmJbdFMm5SA9hHk4SQAoREsw+j97PQdqlnSVFVwGsNCZ8x5yDS0fEVWHb50riWS2P +Tew== X-Gm-Message-State: ABUngvfuStyej8h7BuM+Hczg+tdy8gaLwzO2t5kLLh7hOgaoj6RQ53ar7ebkg2VUDjcVlQ== X-Received: by 10.55.122.197 with SMTP id v188mr1834331qkc.120.1477902273886; Mon, 31 Oct 2016 01:24:33 -0700 (PDT) Original-Received: from [192.168.23.52] (c-50-138-183-136.hsd1.ma.comcast.net. [50.138.183.136]) by smtp.gmail.com with ESMTPSA id j8sm12713284qta.6.2016.10.31.01.24.32 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 31 Oct 2016 01:24:33 -0700 (PDT) In-Reply-To: X-Mailer: Apple Mail (2.3124) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400d:c09::232 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:209008 Archived-At: > Cocoa (maybe also for GNUstep?) has a restriction that GUI events must > be processed in the main thread. Probably the Lisp thread also wants > to be main, especially when we start it by a tty-only session and then > add a GUI session via multi-tty. Nothing comes to my mind that requires that the Lisp thread be the = initial thread; I would think we could start a new thread for the main = Lisp interpreter. (At least in the X11 build, that should be fairly = easily testable, too =E2=80=94 just move *everything* we do from the = initial thread to a new thread, and have the initial thread just wait = around doing nothing.) But if there are toolkits or libraries besides = Cocoa that also insist on running in the main thread, they may not be = able to coexist in use in one process, unless we manage the main event = loop ourselves, or tell one GUI event handler how to recognize when = another has activity that we need to mediate some callbacks for. > So we have to separate processes for > GUI front-end and Lisp back-end to support such situations, anyway. It might not be a bad way to go, if we can keep the interprocess = communication efficient enough, but I don=E2=80=99t think it=E2=80=99ll = be required. Even if we do that, some part of the main Emacs process = needs to communicate with these multiple GUI processes, so do we wind up = with multiple UI threads in the main process anyway? Ken=