From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.org!.POSTED!not-for-mail
From: joakim@verona.se
Newsgroups: gmane.emacs.devel
Subject: Re: Concurrency, again
Date: Tue, 18 Oct 2016 17:15:51 +0200
Message-ID: <m3k2d5r8m0.fsf@chopper>
References: <87wq97i78i.fsf@earlgrey.lan>
	<jwvbmyp20ym.fsf-monnier+gmane.emacs.devel@gnu.org>
	<m2fuo1a59i.fsf@newartisans.com> <83mvi9a3mh.fsf@gnu.org>
	<m2h98h8n0g.fsf@newartisans.com>
	<jwvfuo1v047.fsf-monnier+emacs@gnu.org>
	<20161012165911.58437154@jabberwock.cb.piermont.com>
	<CAGXii2aZdC57gdpzSF3n_AxscDSuURcYmD30yg6bTM=gAa5bRA@mail.gmail.com>
	<20161012173314.799d1dc5@jabberwock.cb.piermont.com>
	<8360owaj2s.fsf@gnu.org>
	<20161013092701.77461800@jabberwock.cb.piermont.com>
	<jwvk2dcmgwb.fsf-monnier+gmane.emacs.devel@gnu.org>
	<m2fuo0kvp5.fsf@newartisans.com>
	<20161017105345.2f255760@jabberwock.cb.piermont.com>
	<83y41nx8l6.fsf@gnu.org>
	<20161017123459.5ded9408@jabberwock.cb.piermont.com>
	<83twcayku6.fsf@gnu.org>
	<20161017135353.533db169@jabberwock.cb.piermont.com>
	<m31szeg8af.fsf@gnus.org> <87wph6cp5i.fsf@jupiter.lan>
	<m3vawp20b9.fsf@gnus.org>
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: blaine.gmane.org 1476806596 11016 195.159.176.226 (18 Oct 2016 16:03:16 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Tue, 18 Oct 2016 16:03:16 +0000 (UTC)
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)
Cc: Stefan Huchler <stefan.huchler@mail.de>, emacs-devel@gnu.org
To: Lars Ingebrigtsen <larsi@gnus.org>
Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Oct 18 18:03:09 2016
Return-path: <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
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 <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1bwWr3-0001ZP-MJ
	for ged-emacs-devel@m.gmane.org; Tue, 18 Oct 2016 18:03:05 +0200
Original-Received: from localhost ([::1]:42436 helo=lists.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>)
	id 1bwWr5-0004xS-MS
	for ged-emacs-devel@m.gmane.org; Tue, 18 Oct 2016 12:03:07 -0400
Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58319)
	by lists.gnu.org with esmtp (Exim 4.71)
	(envelope-from <joakim@verona.se>) id 1bwW80-0003el-8F
	for emacs-devel@gnu.org; Tue, 18 Oct 2016 11:16:35 -0400
Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
	(envelope-from <joakim@verona.se>) id 1bwW7w-00070O-9K
	for emacs-devel@gnu.org; Tue, 18 Oct 2016 11:16:32 -0400
Original-Received: from mx6.bahnhof.se ([213.80.101.16]:39006)
	by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)
	(Exim 4.71) (envelope-from <joakim@verona.se>) id 1bwW7v-0006wM-UP
	for emacs-devel@gnu.org; Tue, 18 Oct 2016 11:16:28 -0400
Original-Received: from localhost (mf.bahnhof.se [213.80.101.20])
	by mx6-reinject (Postfix) with ESMTP id 334E640B55;
	Tue, 18 Oct 2016 17:16:25 +0200 (CEST)
X-Virus-Scanned: by amavisd-new using ClamAV at bahnhof.se (MF2)
Original-Received: from mf2.bahnhof.se ([127.0.0.1])
	by localhost (mf2.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id 5OYLADVOQYfb; Tue, 18 Oct 2016 17:16:15 +0200 (CEST)
Original-Received: from mta.verona.se (h-235-62.a149.priv.bahnhof.se [85.24.235.62])
	by mf2.bahnhof.se (Postfix) with ESMTP id 3E08B9402A2;
	Tue, 18 Oct 2016 17:16:10 +0200 (CEST)
Original-Received: from localhost (unknown [127.0.0.1])
	by mta.verona.se (Postfix) with ESMTP id 053A64FCDCD;
	Tue, 18 Oct 2016 15:16:11 +0000 (UTC)
X-Virus-Scanned: amavisd-new at verona.se
Original-Received: from mta.verona.se ([127.0.0.1])
	by localhost (exodia.verona.se [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id XyZSHJOQ_YEr; Tue, 18 Oct 2016 17:15:51 +0200 (CEST)
Original-Received: from exodia.verona.se (www.verona.se [192.168.200.15])
	by mta.verona.se (Postfix) with ESMTP id 405454FCDC1;
	Tue, 18 Oct 2016 17:15:51 +0200 (CEST)
In-Reply-To: <m3vawp20b9.fsf@gnus.org> (Lars Ingebrigtsen's message of "Tue,
	18 Oct 2016 16:34:18 +0200")
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 213.80.101.16
X-BeenThere: emacs-devel@gnu.org
X-Mailman-Version: 2.1.21
Precedence: list
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=unsubscribe>
List-Archive: <http://lists.gnu.org/archive/html/emacs-devel/>
List-Post: <mailto:emacs-devel@gnu.org>
List-Help: <mailto:emacs-devel-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/emacs-devel>,
	<mailto:emacs-devel-request@gnu.org?subject=subscribe>
Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org
Original-Sender: "Emacs-devel" <emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org>
Xref: news.gmane.org gmane.emacs.devel:208431
Archived-At: <http://permalink.gmane.org/gmane.emacs.devel/208431>

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Stefan Huchler <stefan.huchler@mail.de> writes:
>
>> As far as I understand the xwidget webkit browser is "only" some sort of
>> a Client-server thing where you send messages from emacs to another
>> process and it then does stuff and sends maybe answers back.
>
> Yes.  It's pretty opaque.  I think it's possible to see a way to
> interact with these objects more naturally by creating a Javascript
> bridge that would expose the DOM fully to Emacs, and then you could
> rewrite all Emacs commands to do things to that DOM.  Like `C-t'
> (transpose-chars) with "point" inside one of these objects would look at
> the DOM around point, figure out the necessary changes, and then update
> the DOM inside the widget.
>
> And so on.
>
> But it would be...  er...  a major undertaking, and it would always be a
> toy.

The original idea was to implement a gobject introspection bridge
between elisp and gobjects. The beginings of such a bridge is in the
main xwidget branch. The main flaw with it atm is that it doesnt handle
complex types very well. That would require some work. Anyway, if the
bridge could be made to  work, you could use all functions of the gobject.

If I ever have the time to get back to working on the gobject
introspection bridge, I would try implementing it as an emacs module I
think, which some only minor modification to emacs core(I think you need to
do some initialization early on in emacs startup)

>
> And it's irrelevant to the concurrency discussion, really.  :-)

Yes, sorry.

>
>> Sorry I go OT, but the question is, does ewb need some
>> Concurrency? I guess not really cause the javascript stuff is more a
>> pain than a gain for most cases in such environment.
>
> I'm assuming you're referring to eww, and it sure does need concurrency.
> Computing complicated layouts can be slow, and it would be nice if it
> could take without stopping the user from doing other things.
-- 
Joakim Verona
joakim@verona.se
+46705459454