From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: YAMAMOTO Mitsuharu Newsgroups: gmane.emacs.devel Subject: Re: Can we go GTK-only? Date: Mon, 31 Oct 2016 09:00:50 +0900 Organization: Faculty of Science, Chiba University Message-ID: 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 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-Trace: blaine.gmane.org 1477872100 13338 195.159.176.226 (31 Oct 2016 00:01:40 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 31 Oct 2016 00:01:40 +0000 (UTC) User-Agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (=?ISO-8859-4?Q?Shij=F2?=) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) Cc: Ken Raeburn , Stefan Monnier , emacs-devel@gnu.org To: Daniel Colascione Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Oct 31 01:01:35 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 1c102a-00024w-Cd for ged-emacs-devel@m.gmane.org; Mon, 31 Oct 2016 01:01:28 +0100 Original-Received: from localhost ([::1]:60616 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c102c-0003yB-U2 for ged-emacs-devel@m.gmane.org; Sun, 30 Oct 2016 20:01:30 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49541) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1025-0003xv-SA for emacs-devel@gnu.org; Sun, 30 Oct 2016 20:00:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c1021-0005FT-Bl for emacs-devel@gnu.org; Sun, 30 Oct 2016 20:00:57 -0400 Original-Received: from mathmail.math.s.chiba-u.ac.jp ([133.82.132.2]:63415) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1020-0005Dp-Nh for emacs-devel@gnu.org; Sun, 30 Oct 2016 20:00:53 -0400 Original-Received: from fermat1.math.s.chiba-u.ac.jp (fermat [192.168.32.10]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id C883DF08E4; Mon, 31 Oct 2016 09:00:50 +0900 (JST) (envelope-from mituharu@math.s.chiba-u.ac.jp) In-Reply-To: <11E61536-1345-4B81-999D-2E17F8B14C62@dancol.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 133.82.132.2 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:209003 Archived-At: >>>>> On Sun, 30 Oct 2016 15:49:02 -0700, Daniel Colascione said: >> Ideally, yes, I definitely think we should split the Emacs process into >> various threads: >> - some threads for the GUI. >> - one thread for the Elisp engine (which receives events from the GUI >> threads among others). >> >> So the GUI thread would handle the expose events, read-locking the >> matrices, while the redisplay would run in another thread, >> write-locking >> those same matrices. > Agreed. That's basically how IntelliJ works too. We can do even better too: there's no reason these parts need to run in the same process it even the same machine. 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. So we have to separate processes for GUI front-end and Lisp back-end to support such situations, anyway. If we can separate them cleanly, then it might be possible to create a front-end for iPad that communicates with a Lisp back-end running in another machine. It would also work around the GTK+ problem about multi-tty mentioned in this "thread". YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp