GNU bug report logs - #21473
24.5; very slow tooltip display to sort-of-slow remote display

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Ken Raeburn <raeburn@HIDDEN>; dated Mon, 14 Sep 2015 08:22:01 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 8 Oct 2015 08:12:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 08 04:12:28 2015
Received: from localhost ([127.0.0.1]:59743 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zk6JQ-0004jt-GE
	for submit <at> debbugs.gnu.org; Thu, 08 Oct 2015 04:12:28 -0400
Received: from mail-qk0-f171.google.com ([209.85.220.171]:34932)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1Zk6JN-0004jf-Lx
 for 21473 <at> debbugs.gnu.org; Thu, 08 Oct 2015 04:12:26 -0400
Received: by qkap81 with SMTP id p81so16006168qka.2
 for <21473 <at> debbugs.gnu.org>; Thu, 08 Oct 2015 01:12:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=FbSXlN4NhWJo/XfVsOolx1rK+eLuils9jbMDHhvA2P8=;
 b=hSUyPNTwLzj2o9xFNbja9c14Z0KDOlfRcxSeoL1A6wAAeB7K4VCP9KTzf0aqTrBTFD
 XVpXhTEaJoZFbHyc/W1b2UR8ZjQ8puvbXyz36XvXl3YqMbiOIFuoicGaJjxCkvjBmLIB
 z/DQCBPvCnbpl6TKckdvhEAE0dXZea/WpoPhs=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=FbSXlN4NhWJo/XfVsOolx1rK+eLuils9jbMDHhvA2P8=;
 b=BF/XqZXalhf1y/tPv7Mep6nctFIL0SpNBUTsl/2wMJgXDZKklfzIom9ExbUKuRrlLr
 90RSK0GHYSWNgw7SaP5aUzHCls9duICkj9N2CfCAP3LI3SnsLGcG/iczbpxpMFv6NRxc
 J3BGeJbzeMwSoRx0bw7gsmG6/VZ2v3TZHjyF7+noraUNkVkFp2csVUdCZH7bEKBQqMF6
 TFn+IKbN20JfLA/KNNtZ6S7Oi/SJwWYvkEUewwjhOKRr8jjfzHh/ZnCX/pnhQ0slZGDU
 /azd9IKsNLrjMMFxakfqQlaMl5ksK9twtT6W1Tmzad4HyNfWO5m36f/3YXoTflmWb6z5
 rFnQ==
X-Gm-Message-State: ALoCoQkEOUasiuZEMoZzL3tHm/ciJUlAJu4tvbumH7+nzQKEs52ditn72jwjztEjfxpUtaxrn4vY
X-Received: by 10.55.54.75 with SMTP id d72mr6720873qka.52.1444291945374;
 Thu, 08 Oct 2015 01:12:25 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id q75sm6748798qki.3.2015.10.08.01.12.23
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Thu, 08 Oct 2015 01:12:24 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <248584A1-19AC-4C21-BF57-766278FB0524@HIDDEN>
Date: Thu, 8 Oct 2015 04:12:21 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <D0956037-3648-4EB2-89F7-8818B1344FBF@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
 <831td925nh.fsf@HIDDEN> <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
 <83mvvwyavf.fsf@HIDDEN> <B047C786-6682-48AC-8E88-7E632A9A2203@HIDDEN>
 <83io6kxdf9.fsf@HIDDEN> <9E18042B-99C0-4DAC-AEFA-257A5BF59513@HIDDEN>
 <83io6ielub.fsf@HIDDEN> <248584A1-19AC-4C21-BF57-766278FB0524@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


> I=E2=80=99ll start working on it, but it=E2=80=99ll be pointless =
(pointer-less?) unless I can figure out why the settings aren=E2=80=99t =
taking effect for tooltip frames.

That turned out to be much easier than I expected.  New commit coming =
soon.

Ken





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 8 Oct 2015 06:04:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 08 02:04:53 2015
Received: from localhost ([127.0.0.1]:59609 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zk4Jw-0000Ts-Kq
	for submit <at> debbugs.gnu.org; Thu, 08 Oct 2015 02:04:52 -0400
Received: from mail-qg0-f42.google.com ([209.85.192.42]:36145)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1Zk4Ju-0000Ti-Pc
 for 21473 <at> debbugs.gnu.org; Thu, 08 Oct 2015 02:04:51 -0400
Received: by qgx61 with SMTP id 61so33978071qgx.3
 for <21473 <at> debbugs.gnu.org>; Wed, 07 Oct 2015 23:04:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=B8LZYaJA5wj9xvczaUmKnlnNifcv7GIWK7SjDpAUm7g=;
 b=XAvXBNupSqy5ikxVV7n+eDnv3BRM+yb0IJEWgaa2xKfZvkHi2D1D4QpMDsXx9fVaWk
 OypH/FOKWk3YGzORZcpqWh3w0vx2y0rJYGZxdUJGWerKuHGUhktDq5Um4lRo2j57CDpr
 PX6ZsdmYpfw1sXlUydHOUxZaDshPLnBA95wfw=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=B8LZYaJA5wj9xvczaUmKnlnNifcv7GIWK7SjDpAUm7g=;
 b=ENjlqDK7uM6NstlJM3SIpeS0OZCi8nknUJXdrn9GFWePLMGKN+WyKAYjg/bRAx2Ih6
 EuE1DhSQhWcULPmLc1E814HCA7+Jf8ZlpCREoWt1UnIdHgm5Qr3PmvwzZZpQwi+s4LxW
 TwHn0wS24l2avMaSaLoCkzJbl3ynTj4z8xbjpu1pQQQ6Zdos+Xc1t/xwfIqWNxLHGHo5
 NnDn7oR0KFJvKvWVn1xLFigyy48NH3O7Kbe8MKEVAsZtAT1bZTzn1Rvq1z4Vt/nC2J0g
 9RhjevTBX+ibPbjQGeqwNp5oXj4Egz0a/C64s8A6nqMUYvOu3r+72h7AeM1MLq8AmZGS
 wCuQ==
X-Gm-Message-State: ALoCoQnH1dCwsZ4vLXbF8hzOUcaPCbfhQ4B3L1pus51mvaZ1aSbpUVSLpaWGXwzgUZqDYjfhq6q1
X-Received: by 10.140.94.214 with SMTP id g80mr6106040qge.57.1444284290265;
 Wed, 07 Oct 2015 23:04:50 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id 105sm4299095qgl.13.2015.10.07.23.04.48
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Wed, 07 Oct 2015 23:04:49 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <83io6ielub.fsf@HIDDEN>
Date: Thu, 8 Oct 2015 02:04:46 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <248584A1-19AC-4C21-BF57-766278FB0524@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
 <831td925nh.fsf@HIDDEN> <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
 <83mvvwyavf.fsf@HIDDEN> <B047C786-6682-48AC-8E88-7E632A9A2203@HIDDEN>
 <83io6kxdf9.fsf@HIDDEN> <9E18042B-99C0-4DAC-AEFA-257A5BF59513@HIDDEN>
 <83io6ielub.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


> On Oct 7, 2015, at 11:31, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Ken Raeburn <raeburn@HIDDEN>
>> Date: Wed, 7 Oct 2015 02:09:47 -0400
>> Cc: 21473 <at> debbugs.gnu.org
>>=20
>> I wonder if it might be better to change x_set_mouse_color to check =
some new field =E2=80=9Cf->tooltip_p=E2=80=9D that makes it define just =
one cursor.  (The arrow we use for non-text areas, or the vertical-bar =
xterm cursor we use for text?)
>=20
> Fine, let's do it this way.  Can you prepare a patch along these
> lines?

I=E2=80=99ll start working on it, but it=E2=80=99ll be pointless =
(pointer-less?) unless I can figure out why the settings aren=E2=80=99t =
taking effect for tooltip frames.

>> Of course, there=E2=80=99s also the little matter of making the =
cursor-setting actually work.  Until (unless?) that happens, we might as =
well disable it for everyone.  I can check that in if you'd like.
>=20
> Please do, and thanks.

I=E2=80=99ve checked this in, and some of the other optimizations I=E2=80=99=
ve been working on.  That still leaves us calling XSync a bit more than =
necessary, but I need to work on the error-trapping changes a bit more =
before I=E2=80=99m happy with them.  Still, this should be a good =
improvement over the previous remote performance.

Ken=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 7 Oct 2015 15:32:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 07 11:32:21 2015
Received: from localhost ([127.0.0.1]:59137 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZjqhY-0007WO-Ka
	for submit <at> debbugs.gnu.org; Wed, 07 Oct 2015 11:32:20 -0400
Received: from mtaout27.012.net.il ([80.179.55.183]:41065)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1ZjqhD-0007Vc-Al
 for 21473 <at> debbugs.gnu.org; Wed, 07 Oct 2015 11:32:19 -0400
Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il
 (HyperSendmail v2007.08) id <0NVU00700W63DZ00@HIDDEN> for
 21473 <at> debbugs.gnu.org; Wed, 07 Oct 2015 18:28:06 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout27.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NVU004E8WATJF30@HIDDEN>; Wed, 07 Oct 2015 18:28:06 +0300 (IDT)
Date: Wed, 07 Oct 2015 18:31:56 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <9E18042B-99C0-4DAC-AEFA-257A5BF59513@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <83io6ielub.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
 <831td925nh.fsf@HIDDEN> <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
 <83mvvwyavf.fsf@HIDDEN> <B047C786-6682-48AC-8E88-7E632A9A2203@HIDDEN>
 <83io6kxdf9.fsf@HIDDEN> <9E18042B-99C0-4DAC-AEFA-257A5BF59513@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Wed, 7 Oct 2015 02:09:47 -0400
> Cc: 21473 <at> debbugs.gnu.org
> 
> I wonder if it might be better to change x_set_mouse_color to check some new field “f->tooltip_p” that makes it define just one cursor.  (The arrow we use for non-text areas, or the vertical-bar xterm cursor we use for text?)

Fine, let's do it this way.  Can you prepare a patch along these
lines?

> Of course, there’s also the little matter of making the cursor-setting actually work.  Until (unless?) that happens, we might as well disable it for everyone.  I can check that in if you'd like.

Please do, and thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 7 Oct 2015 06:10:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 07 02:10:13 2015
Received: from localhost ([127.0.0.1]:57655 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZjhvY-00016u-ED
	for submit <at> debbugs.gnu.org; Wed, 07 Oct 2015 02:10:12 -0400
Received: from mail-qg0-f53.google.com ([209.85.192.53]:33779)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1ZjhvD-000167-LX
 for 21473 <at> debbugs.gnu.org; Wed, 07 Oct 2015 02:10:10 -0400
Received: by qgev79 with SMTP id v79so7514743qge.0
 for <21473 <at> debbugs.gnu.org>; Tue, 06 Oct 2015 23:09:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=WB5sVW5vkhHK/dC4YG1KnodyBUXTZrVVLkxGLNCyKG0=;
 b=WfOCcTYS9Pqb17YCsALxY9YURyNOSbFFGc0XT9rMeC02vJ1SX9RVLFDg9n2KHELcQ/
 7uTGCj9jkEbWZCrDy0ktMC1fwgkY6gfiisz5skiDeNRn9qZvyM0BG0U0oq9f5jZYoeqK
 xI1JpfJzlX+KRRUSrw0+tRzWyt0ul1cKUgsFk=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=WB5sVW5vkhHK/dC4YG1KnodyBUXTZrVVLkxGLNCyKG0=;
 b=W71xLtN5/6TXF395YPO1duuASoFlh9t8S1OtSSgLrUeAm6bmincecjuQ5YoVNQROuz
 tTDTV2tfzCBQXtKmcwCskfoR5/wk1oP70bfksUCsFuz5NB0VoWsRpE9lxNfg7nwP0vbC
 /dleGMKbusJYxpXqE9M+Zebr40FKi+H5vpCZlyfkalLGLocpE2E3XrVEGnikQxX37YUx
 ls5MqkT5r8r5myO1t4Gl52caSZrLnbqJAaJbj6X0NAnhfMV4bJdbqSasSGn7CmfJzvFl
 MK2fmXivjeZJd/SL4OSpw2oEJgiRmD08oZiqThmZPfz97yf1dd7x1DW8EaV/gSem9pQJ
 illw==
X-Gm-Message-State: ALoCoQkL7yBWPnQaQ//3/Q4bvxLNfmK7h0VHQyLk0LhuYuyK8MjBNft7HHmfdFxCIWCrVPesYFr9
X-Received: by 10.140.147.146 with SMTP id 140mr44983384qht.68.1444198191174; 
 Tue, 06 Oct 2015 23:09:51 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id t37sm15645897qge.26.2015.10.06.23.09.49
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Tue, 06 Oct 2015 23:09:49 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <83io6kxdf9.fsf@HIDDEN>
Date: Wed, 7 Oct 2015 02:09:47 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <9E18042B-99C0-4DAC-AEFA-257A5BF59513@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
 <831td925nh.fsf@HIDDEN> <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
 <83mvvwyavf.fsf@HIDDEN> <B047C786-6682-48AC-8E88-7E632A9A2203@HIDDEN>
 <83io6kxdf9.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


> On Oct 6, 2015, at 10:46, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Ken Raeburn <raeburn@HIDDEN>
>> Date: Tue, 6 Oct 2015 05:30:42 -0400
>> Cc: 21473 <at> debbugs.gnu.org
>>=20
>> It looks like I was mistaken. It appears that it was using the arrow =
only because that=E2=80=99s the default pointer shape for the X root =
window. According to some of the X docs I was reading, if the =
=E2=80=9Ccursor=E2=80=9D (pointer shape) is never defined for a window, =
then the window uses the value from the parent window.
>>=20
>> If I change the root window=E2=80=99s default pointer shape, then =
when the mouse is in the tooltip window it also uses that shape. I doubt =
that=E2=80=99s what we want; one of the shapes used by Emacs would be =
better, even if we only allow one to be used for that frame. Then again, =
if the window is supposed to go away quickly, maybe we don=E2=80=99t =
care at all? On a slow, remote link, there can be enough lag for the =
pointer to be visible in the tooltip window for a good half second at =
least.
>>=20
>> The odd part: It appears that it=E2=80=99s already broken, even with =
the call to x_set_mouse_color being applied to the tooltip frame. I=E2=80=99=
m still getting whatever odd cursor shape I installed for the root =
window. This is with the Xquartz server on OS X; I=E2=80=99ll try later =
with the X.org server.

It behaves the same on the x.org server.  The default root-window mouse =
cursor is a big =E2=80=9CX=E2=80=9D, and the same is true for the =
tooltip window.

>=20
> I suggest to make that call conditional on a user variable, by
> default off.  Most users, certainly on fast networks, will never see
> that pointer anyway.
>=20
> WDYT?

They can see it if any CPU-intensive work keeps Emacs busy right after =
the tooltip is displayed =E2=80=94 garbage collection, auto-revert of =
large files, processing of data received from the net, etc.  Then Emacs =
may not be able to make the X window disappear right away when the user =
moves the mouse.

I wonder if it might be better to change x_set_mouse_color to check some =
new field =E2=80=9Cf->tooltip_p=E2=80=9D that makes it define just one =
cursor.  (The arrow we use for non-text areas, or the vertical-bar xterm =
cursor we use for text?)

For users on fast networks, the extra traffic I=E2=80=99m worrying over =
=E2=80=94 which I think would then be reduced to three XSync exchanges, =
if we also do color-name caching and TrueColor optimizations =E2=80=94 =
wouldn=E2=80=99t be a big deal.  A tiny price for getting the display =
right in a minor case, if we can, and I think I can reduce that count.

I think that=E2=80=99s probably better than a new Lisp variable to =
control low-level protocol details that should usually be invisible, to =
deal with a problem that we could fix reasonably well in the C code.

Of course, there=E2=80=99s also the little matter of making the =
cursor-setting actually work.  Until (unless?) that happens, we might as =
well disable it for everyone.  I can check that in if you'd like.

Ken=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 6 Oct 2015 14:46:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 06 10:46:37 2015
Received: from localhost ([127.0.0.1]:57209 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZjTVk-0006cp-Kd
	for submit <at> debbugs.gnu.org; Tue, 06 Oct 2015 10:46:37 -0400
Received: from mtaout20.012.net.il ([80.179.55.166]:61132)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1ZjTVi-0006ch-5R
 for 21473 <at> debbugs.gnu.org; Tue, 06 Oct 2015 10:46:35 -0400
Received: from conversion-daemon.a-mtaout20.012.net.il by
 a-mtaout20.012.net.il (HyperSendmail v2007.08) id
 <0NVS00100ZMRIE00@HIDDEN> for 21473 <at> debbugs.gnu.org;
 Tue, 06 Oct 2015 17:46:32 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout20.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NVS001DRZPKFF40@HIDDEN>;
 Tue, 06 Oct 2015 17:46:32 +0300 (IDT)
Date: Tue, 06 Oct 2015 17:46:34 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <B047C786-6682-48AC-8E88-7E632A9A2203@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <83io6kxdf9.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
 <831td925nh.fsf@HIDDEN> <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
 <83mvvwyavf.fsf@HIDDEN> <B047C786-6682-48AC-8E88-7E632A9A2203@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Tue, 6 Oct 2015 05:30:42 -0400
> Cc: 21473 <at> debbugs.gnu.org
> 
> It looks like I was mistaken. It appears that it was using the arrow only because that’s the default pointer shape for the X root window. According to some of the X docs I was reading, if the “cursor” (pointer shape) is never defined for a window, then the window uses the value from the parent window.
> 
> If I change the root window’s default pointer shape, then when the mouse is in the tooltip window it also uses that shape. I doubt that’s what we want; one of the shapes used by Emacs would be better, even if we only allow one to be used for that frame. Then again, if the window is supposed to go away quickly, maybe we don’t care at all? On a slow, remote link, there can be enough lag for the pointer to be visible in the tooltip window for a good half second at least.
> 
> The odd part: It appears that it’s already broken, even with the call to x_set_mouse_color being applied to the tooltip frame. I’m still getting whatever odd cursor shape I installed for the root window. This is with the Xquartz server on OS X; I’ll try later with the X.org server.

I suggest to make that call conditional on a user variable, by
default off.  Most users, certainly on fast networks, will never see
that pointer anyway.

WDYT?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 6 Oct 2015 09:30:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 06 05:30:50 2015
Received: from localhost ([127.0.0.1]:55960 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZjOa9-00062h-Lw
	for submit <at> debbugs.gnu.org; Tue, 06 Oct 2015 05:30:50 -0400
Received: from mail-qg0-f51.google.com ([209.85.192.51]:35492)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1ZjOa6-00062X-0d
 for 21473 <at> debbugs.gnu.org; Tue, 06 Oct 2015 05:30:47 -0400
Received: by qgt47 with SMTP id 47so169197601qgt.2
 for <21473 <at> debbugs.gnu.org>; Tue, 06 Oct 2015 02:30:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=gGpHlW9wK04vmS9f4UnqjHb6k/W2j1xoaNp11U6xQzs=;
 b=SLUf346iEjSE7UtDxvOaTh3wgoCLBfE+KcangQGGXdCTgUoryMWjIc2ef4+wFBqBc3
 Xg2nWSFM6Gz72Ysa1BjrHdf0fz2nzT0kdJneosnaHh+5+MvGU60Wh118nHfp/98IqGAY
 B+sqWuQCY5kwlP+hdzN3yHE5LZD5CyU7lWhI8=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=gGpHlW9wK04vmS9f4UnqjHb6k/W2j1xoaNp11U6xQzs=;
 b=fLycq7YwJ4S/Tfgii4pfJ9YMFdDbe/XsQLign2MvHXJvZdh7wpL2guzcRxuGDO8YJu
 Gl2fiIinbBu/DVEMr5aecbO+x+i2O7nPhOm5CXvCEGELGiDo9B+pb0WImmI5kqsd3JaO
 GR38Jy8UC3zBR9BnasSjpOCmlU2j0JIVzH+uPuZNJq0OYJqw3/P7yvnGT5f5qdh5bMsG
 0DGL4eM1LMfIVa1zhJYAnW+tM5QEnJhxxg3/PolbvcIf/Rk5MYrWP8nJxcrTJNA4ShQg
 7IfIqaR8oRQROGLm+2pcN/fLfwYhTsD/tcGERof0Z+5RsMfI2MLMJOqYHyP/3g77OWwT
 bKKg==
X-Gm-Message-State: ALoCoQnQPPdoiGnN6QuAd/stVNjjJiwUgD1ZzwKiUYWIBZBZ5gRD7Gx30ESFlpAKlKDDgXTWDaPX
X-Received: by 10.141.28.69 with SMTP id f66mr45347588qhe.67.1444123845519;
 Tue, 06 Oct 2015 02:30:45 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id z2sm13467519qkz.20.2015.10.06.02.30.43
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Tue, 06 Oct 2015 02:30:44 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <83mvvwyavf.fsf@HIDDEN>
Date: Tue, 6 Oct 2015 05:30:42 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <B047C786-6682-48AC-8E88-7E632A9A2203@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
 <831td925nh.fsf@HIDDEN> <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
 <83mvvwyavf.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


> On Oct 5, 2015, at 22:44, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Ken Raeburn <raeburn@HIDDEN>
>> Date: Mon, 5 Oct 2015 22:15:44 -0400
>> Cc: 21473 <at> debbugs.gnu.org
>>=20
>>>> Ah, sorry.  Yes, it seems to work okay, as far as I can tell, and =
cuts out 11 round trips.  With a remote display I=E2=80=99m able to move =
the mouse into the tooltip window for a few seconds before it goes away, =
and (at least on my display) it=E2=80=99s showing a basic black arrow =
pointer.
>>>=20
>>> Is that black arrow mouse pointer different from what you see if the
>>> call to x_set_mouse_color is retained?
>>=20
>> No, it appears to be the same.
>=20
> So I suggest to install such a change.  Do you have a patch that can
> be used?

It looks like I was mistaken. It appears that it was using the arrow =
only because that=E2=80=99s the default pointer shape for the X root =
window. According to some of the X docs I was reading, if the =
=E2=80=9Ccursor=E2=80=9D (pointer shape) is never defined for a window, =
then the window uses the value from the parent window.

If I change the root window=E2=80=99s default pointer shape, then when =
the mouse is in the tooltip window it also uses that shape. I doubt =
that=E2=80=99s what we want; one of the shapes used by Emacs would be =
better, even if we only allow one to be used for that frame. Then again, =
if the window is supposed to go away quickly, maybe we don=E2=80=99t =
care at all? On a slow, remote link, there can be enough lag for the =
pointer to be visible in the tooltip window for a good half second at =
least.

The odd part: It appears that it=E2=80=99s already broken, even with the =
call to x_set_mouse_color being applied to the tooltip frame. I=E2=80=99m =
still getting whatever odd cursor shape I installed for the root window. =
This is with the Xquartz server on OS X; I=E2=80=99ll try later with the =
X.org server.

Ken=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 6 Oct 2015 02:44:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 05 22:44:08 2015
Received: from localhost ([127.0.0.1]:55753 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZjIEa-0003V4-3b
	for submit <at> debbugs.gnu.org; Mon, 05 Oct 2015 22:44:08 -0400
Received: from mtaout26.012.net.il ([80.179.55.182]:50724)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1ZjIEX-0003Uv-8G
 for 21473 <at> debbugs.gnu.org; Mon, 05 Oct 2015 22:44:06 -0400
Received: from conversion-daemon.mtaout26.012.net.il by mtaout26.012.net.il
 (HyperSendmail v2007.08) id <0NVS00B001NIUP00@HIDDEN> for
 21473 <at> debbugs.gnu.org; Tue, 06 Oct 2015 05:46:59 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout26.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NVS00D782EBF910@HIDDEN>; Tue, 06 Oct 2015 05:46:59 +0300 (IDT)
Date: Tue, 06 Oct 2015 05:44:04 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <83mvvwyavf.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
 <831td925nh.fsf@HIDDEN> <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Mon, 5 Oct 2015 22:15:44 -0400
> Cc: 21473 <at> debbugs.gnu.org
> 
> >> Ah, sorry.  Yes, it seems to work okay, as far as I can tell, and cuts out 11 round trips.  With a remote display I’m able to move the mouse into the tooltip window for a few seconds before it goes away, and (at least on my display) it’s showing a basic black arrow pointer.
> > 
> > Is that black arrow mouse pointer different from what you see if the
> > call to x_set_mouse_color is retained?
> 
> No, it appears to be the same.

So I suggest to install such a change.  Do you have a patch that can
be used?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 6 Oct 2015 02:15:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 05 22:15:52 2015
Received: from localhost ([127.0.0.1]:55744 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZjHnD-0002rw-T7
	for submit <at> debbugs.gnu.org; Mon, 05 Oct 2015 22:15:52 -0400
Received: from mail-qg0-f48.google.com ([209.85.192.48]:34736)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1ZjHnB-0002rn-9m
 for 21473 <at> debbugs.gnu.org; Mon, 05 Oct 2015 22:15:50 -0400
Received: by qgez77 with SMTP id z77so167069179qge.1
 for <21473 <at> debbugs.gnu.org>; Mon, 05 Oct 2015 19:15:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=xeDGDnYtNixYIzCQEKqvuYrzR+66exHuT3z8hUxaWfA=;
 b=bfM2UDG6LRQC4PbKO4PqxL5Lql8yfRwi1iQ136Ssdvcq+2OZlC78/2K75pDPwmqagS
 5y+UaI24/5pha/57I95DjnSyU6NsslGnUl7sc3vtGYg2RWj1bpmpX0ZHyGPt4pv9nmOL
 JBe9AYhynNWOIpUbJlbJ91aC4e9LghJ/4c0Eg=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=xeDGDnYtNixYIzCQEKqvuYrzR+66exHuT3z8hUxaWfA=;
 b=m1631E/6BhkE+39orzwmoGGJMrECWRpPwmlrJJRzn29Etd9hTM5FGHFa/Z3CKjpe0i
 qQAK3uTZ7AXm+yrjs6fDkF3ZGjbXu5DCJ64Xtgn8pDgmRUHstVmVINQhs/cr8l/sGNyd
 XwGcYcQ51NNx+AkzjLrP4W6PttPHZ5ZcKQMIvwi2Js2RoIksmm4/k/rCDfbZzi3WVcU6
 esQpeqzHmc0ogSdzD6eXcMqTn+NAOWe8ugeLX6t95MWaquQpR8v3ixWGGySTRzVirb/m
 fv8a5BQYDYYdtPXvpkYNzEumvJNWwHBG/+hxQO/A3gF2svPIJfXKIaPn/tBJfK6pKSPx
 xJrA==
X-Gm-Message-State: ALoCoQlfb3zaFy4Vy5Zaj8mKDmcpG/V9THDrWtsQICk4J6fSyoWWluFo5jEW48zYwndYwVwt97vx
X-Received: by 10.140.133.10 with SMTP id 10mr45750904qhf.95.1444097748716;
 Mon, 05 Oct 2015 19:15:48 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id d62sm12693217qhc.19.2015.10.05.19.15.46
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Mon, 05 Oct 2015 19:15:47 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <831td925nh.fsf@HIDDEN>
Date: Mon, 5 Oct 2015 22:15:44 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <08005C15-1EEE-46DE-B608-BDAE091E7F4F@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
 <831td925nh.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

>> Ah, sorry.  Yes, it seems to work okay, as far as I can tell, and =
cuts out 11 round trips.  With a remote display I=E2=80=99m able to move =
the mouse into the tooltip window for a few seconds before it goes away, =
and (at least on my display) it=E2=80=99s showing a basic black arrow =
pointer.
>=20
> Is that black arrow mouse pointer different from what you see if the
> call to x_set_mouse_color is retained?

No, it appears to be the same.

Ken=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 5 Oct 2015 06:25:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 05 02:25:46 2015
Received: from localhost ([127.0.0.1]:54783 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZizDU-0004EI-Vl
	for submit <at> debbugs.gnu.org; Mon, 05 Oct 2015 02:25:45 -0400
Received: from mtaout29.012.net.il ([80.179.55.185]:60200)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1ZizDR-0004E7-0a
 for 21473 <at> debbugs.gnu.org; Mon, 05 Oct 2015 02:25:42 -0400
Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il
 (HyperSendmail v2007.08) id <0NVQ00O00HQNC100@HIDDEN> for
 21473 <at> debbugs.gnu.org; Mon, 05 Oct 2015 09:26:35 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout29.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NVQ00L97HWBNA40@HIDDEN>; Mon, 05 Oct 2015 09:26:35 +0300 (IDT)
Date: Mon, 05 Oct 2015 09:25:38 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <831td925nh.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN> <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Mon, 5 Oct 2015 01:38:26 -0400
> Cc: 21473 <at> debbugs.gnu.org
> 
> > You didn't answer my question about the possibility to remove the call
> > to x_set_mouse_color (and anything mouse-related) altogether in a tip
> > frame.  Is that feasible?  Could you try that and see if it has any
> > adverse effects?
> 
> Ah, sorry.  Yes, it seems to work okay, as far as I can tell, and cuts out 11 round trips.  With a remote display I’m able to move the mouse into the tooltip window for a few seconds before it goes away, and (at least on my display) it’s showing a basic black arrow pointer.

Is that black arrow mouse pointer different from what you see if the
call to x_set_mouse_color is retained?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 5 Oct 2015 05:38:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 05 01:38:33 2015
Received: from localhost ([127.0.0.1]:54767 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZiyTo-0003BG-Pz
	for submit <at> debbugs.gnu.org; Mon, 05 Oct 2015 01:38:33 -0400
Received: from mail-qg0-f43.google.com ([209.85.192.43]:36558)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1ZiyTm-0003B8-PO
 for 21473 <at> debbugs.gnu.org; Mon, 05 Oct 2015 01:38:31 -0400
Received: by qgx61 with SMTP id 61so140794742qgx.3
 for <21473 <at> debbugs.gnu.org>; Sun, 04 Oct 2015 22:38:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=hH3C/KMLbal9A3xlVVjV4x0L+iCAQcEaMTtAppclm4Q=;
 b=MfjkBiEezCQFCgWKVvZGKCzAaiI42ykb24rjn3p4ehP/kvPCwq3VoJDLghYx5FxkH3
 HKPqmFXAyfurCvclG9zROWKDs/uMkk5sdZvhSEaSLGKmncBpps160jmUz7txvu/5kIUA
 SnFepabfmisMqv/u+3wFW5bHg2FK/dKABVV70=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=hH3C/KMLbal9A3xlVVjV4x0L+iCAQcEaMTtAppclm4Q=;
 b=dhefmMEYT6a6vYxWGQl0nKBl05Qxq+XKTqyoIRto8rgmsHp0JD0z5Mwc/6ayRrKlwK
 GPZQq2a8FHyO6n8BMAxb5ZsjJIuEYnB3faTJQPsrnsmvyc9G+FOl2hUZ5kk4VASIFXYC
 DV9S3481Uu9tANxkClVtJZSGLJzhNqdrkHHpPM5N4zUV/IN+yJrQpLftdDrzNdxFRlKP
 8SmPMrJbJUvhMUJGO6m1Gf5gijc/0d5ZVpGPVgen5L6GqpgkLxFROleMSkZRf5ssgtsU
 PhH+6kCA0MLUDYMuwxoUVbn320TpmvSdZYNMKpASGFjAwMp5W5wLHpqx+noSLVFUnq8K
 gkIQ==
X-Gm-Message-State: ALoCoQn73JQAZHmiNEBo16mYr75LOlFbjH6hMG4u6DjuTN/C/LeYUQEiWD/S0tfXiq2Uj+UZ9ack
X-Received: by 10.140.44.11 with SMTP id f11mr36679379qga.80.1444023510273;
 Sun, 04 Oct 2015 22:38:30 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id d64sm10565566qgf.34.2015.10.04.22.38.28
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Sun, 04 Oct 2015 22:38:29 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <83a8ry1kyt.fsf@HIDDEN>
Date: Mon, 5 Oct 2015 01:38:26 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <9CBD7FEC-C4BC-4FD8-8FE1-9760C2113DAC@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
 <83a8ry1kyt.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


> On Oct 4, 2015, at 15:40, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Ken Raeburn <raeburn@HIDDEN>
>> Date: Sun, 4 Oct 2015 14:02:18 -0400
>> Cc: 21473 <at> debbugs.gnu.org
>>=20
>>>>     5 _XReply =C2=AB XSync =C2=AB x_check_errors =C2=AB =
x_set_mouse_color =C2=AB x_set_frame_parameters =C2=AB =
x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending
>>>=20
>>> Any idea why we need to call
>>>=20
>>> x_default_parameter (f, parms, Qmouse_color, build_string ("black"),
>>> 		       "pointerColor", "Foreground", RES_TYPE_STRING);
>>>=20
>>> when creating a tip frame?  Do we want the tip frames to be able to
>>> support mouse highlight or something?  If so, we could make this
>>> conditional on some option, because the absolute majority of =
tooltips
>>> don't use that.
>> [...]
>> - Make x_set_mouse_color record serial numbers and use a new error =
handling routine to check them, reducing the number of XSync calls but =
not getting rid of them entirely.
>=20
> You didn't answer my question about the possibility to remove the call
> to x_set_mouse_color (and anything mouse-related) altogether in a tip
> frame.  Is that feasible?  Could you try that and see if it has any
> adverse effects?

Ah, sorry.  Yes, it seems to work okay, as far as I can tell, and cuts =
out 11 round trips.  With a remote display I=E2=80=99m able to move the =
mouse into the tooltip window for a few seconds before it goes away, and =
(at least on my display) it=E2=80=99s showing a basic black arrow =
pointer. I=E2=80=99m not sure how to get it to stick around past my =
moving the mouse into the window; the next thing Emacs does seems to be =
to delete the window.  The frame deletion code protects against calling =
XFreeCursor on a zero value, so I don=E2=80=99t expect any problems =
there.

>=20
>> - Try to defer garbage collection while running commands like =
x-create-frame.
>=20
> I'd recommend against that, or at most make it optional behavior.
> IME, deferring GC is produces net loss in most situations.  Your
> situation is clearly rare, so skewing the behavior for all the rest of
> the users sounds unwise.

I can imagine that.  Most commands aren=E2=80=99t likely to allocate =
nearly as much as I=E2=80=99m seeing during normal frame creation.  But =
that=E2=80=99s a separate issue=E2=80=A6.

Ken=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 4 Oct 2015 19:40:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 04 15:40:18 2015
Received: from localhost ([127.0.0.1]:54675 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zip8r-0004yY-To
	for submit <at> debbugs.gnu.org; Sun, 04 Oct 2015 15:40:18 -0400
Received: from mtaout27.012.net.il ([80.179.55.183]:50914)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1Zip8o-0004yN-9o
 for 21473 <at> debbugs.gnu.org; Sun, 04 Oct 2015 15:40:15 -0400
Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il
 (HyperSendmail v2007.08) id <0NVP00J00NEOPN00@HIDDEN> for
 21473 <at> debbugs.gnu.org; Sun, 04 Oct 2015 22:36:23 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout27.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NVP00BMYNSNYRA0@HIDDEN>; Sun, 04 Oct 2015 22:36:23 +0300 (IDT)
Date: Sun, 04 Oct 2015 22:40:10 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <83a8ry1kyt.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN> <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Sun, 4 Oct 2015 14:02:18 -0400
> Cc: 21473 <at> debbugs.gnu.org
> 
> >>      5 _XReply « XSync « x_check_errors « x_set_mouse_color « x_set_frame_parameters « x_default_parameter « x_create_tip_frame « Fx_show_tip « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « run_hook_with_args « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « Fapply « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « call1 « timer_check_2 « timer_check « readable_events « get_input_pending
> > 
> > Any idea why we need to call
> > 
> >  x_default_parameter (f, parms, Qmouse_color, build_string ("black"),
> > 		       "pointerColor", "Foreground", RES_TYPE_STRING);
> > 
> > when creating a tip frame?  Do we want the tip frames to be able to
> > support mouse highlight or something?  If so, we could make this
> > conditional on some option, because the absolute majority of tooltips
> > don't use that.
> [...]
>  - Make x_set_mouse_color record serial numbers and use a new error handling routine to check them, reducing the number of XSync calls but not getting rid of them entirely.

You didn't answer my question about the possibility to remove the call
to x_set_mouse_color (and anything mouse-related) altogether in a tip
frame.  Is that feasible?  Could you try that and see if it has any
adverse effects?

>  - Try to defer garbage collection while running commands like x-create-frame.

I'd recommend against that, or at most make it optional behavior.
IME, deferring GC is produces net loss in most situations.  Your
situation is clearly rare, so skewing the behavior for all the rest of
the users sounds unwise.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 4 Oct 2015 18:02:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 04 14:02:26 2015
Received: from localhost ([127.0.0.1]:54553 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zinc9-0002lP-Nn
	for submit <at> debbugs.gnu.org; Sun, 04 Oct 2015 14:02:26 -0400
Received: from mail-qg0-f47.google.com ([209.85.192.47]:35732)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1Zinc7-0002lH-L3
 for 21473 <at> debbugs.gnu.org; Sun, 04 Oct 2015 14:02:24 -0400
Received: by qgt47 with SMTP id 47so132694317qgt.2
 for <21473 <at> debbugs.gnu.org>; Sun, 04 Oct 2015 11:02:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=JZAmqNz+Zy2mcpFxQtwJzvzX4V6CEuM0KmPEjGwV58s=;
 b=evqTmBNugZeW2bhOWvFSgkQnanAGENeygFqHgrgtu8K/RVFlrwnmEI2z9fz79yh5vp
 D2cj5wfVYzhu6wVXKF/iM7vqjECp4awQByjcfsDg0/UfS90N6+CjLvWpB+4JWShGJjo+
 9JUoN3oXJlxZ801+AxYkRJYVpPedY2gv6SCOw=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=JZAmqNz+Zy2mcpFxQtwJzvzX4V6CEuM0KmPEjGwV58s=;
 b=I+DW5uwQfhYXkysCt9VSJ4ggxEica5+gH01kUK9ni53yFfkxGCdrf3l7zA5xlaNcV5
 ypPi8VynQ7VFOYOBMQeMIUy6+ybJvKyu/qf7LNiRkwNUkJIjQ2lle8ffD/xn12kOZFs6
 rjI86yaMVGVyZzf2/Zc9uo0/OTgpr67NPh2nHbACHp7qYFWiROj61RPHWyz4+zlPvWl7
 DenFfTXP1DdsbPBPnjesPJSFIngYFWhw7fHoYuifGnVb9Pq5B7nruExNJ3Tm6daKOehz
 hyoJQfr/wsIN1xABZ8P9zbqN0cZWgSvvOenK6OcQD8JWKH9wyTwyMKUkoqWI7/CP7iTc
 bGGQ==
X-Gm-Message-State: ALoCoQlqnm4uKoqbX6Hll9tLJWVWn79gjSBmtm/owk8e4NH46b5INNPIWpNpH5dBRPsCsCGAV25W
X-Received: by 10.140.150.139 with SMTP id 133mr36892235qhw.58.1443981742990; 
 Sun, 04 Oct 2015 11:02:22 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id s12sm9469878qkl.2.2015.10.04.11.02.20
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Sun, 04 Oct 2015 11:02:20 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <83oagf0xx5.fsf@HIDDEN>
Date: Sun, 4 Oct 2015 14:02:18 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <5AFBFA9B-153C-4CFB-8864-BAB733413B11@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
 <83oagf0xx5.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


> On Oct 4, 2015, at 05:45, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Ken Raeburn <raeburn@HIDDEN>
>> Cc: 21473 <at> debbugs.gnu.org
>> Date: Thu, 01 Oct 2015 06:01:35 -0400
>>=20
>> We do all of this in "x_set_mouse_color" because the cursor color is =
a
>> property of the cursor object, so we create new cursors, set their
>> colors, and then start using them in place of the old ones.
>=20
> Sorry, I don't understand: by "cursor" here do you mean the mouse
> pointer?  If not, i.e. if this is the text cursor, then how is it
> related to x_set_mouse_color?

Yes, the mouse pointer. =E2=80=9CCursor=E2=80=9D is the term used in the =
code (and in X docs) for the shape and color of the mouse pointer.

>=20
>> Below are the _XReply call stacks (with counts) I found once I worked =
up
>> my color handling changes. There were 61 XSync calls in all, this =
time.
>> This was for moving the mouse into the frame to the mode line (with
>> focus elsewhere), and waiting for the tooltip to pop up.
>>=20
>>      5 _XReply =C2=AB XSync =C2=AB x_check_errors =C2=AB =
x_set_mouse_color =C2=AB x_set_frame_parameters =C2=AB =
x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending
>=20
> Any idea why we need to call
>=20
>  x_default_parameter (f, parms, Qmouse_color, build_string ("black"),
> 		       "pointerColor", "Foreground", RES_TYPE_STRING);
>=20
> when creating a tip frame?  Do we want the tip frames to be able to
> support mouse highlight or something?  If so, we could make this
> conditional on some option, because the absolute majority of tooltips
> don't use that.
>=20
>>      4 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB =
x_real_pos_and_offsets =C2=AB x_real_positions =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB xg_select =C2=AB =
wait_reading_process_output =C2=AB sit_for =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop =C2=AB =
recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
>>      2 _XReply =C2=AB XTranslateCoordinates =C2=AB =
x_real_pos_and_offsets =C2=AB x_real_positions =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB xg_select =C2=AB =
wait_reading_process_output =C2=AB sit_for =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop =C2=AB =
recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
>>      2 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
x_real_pos_and_offsets =C2=AB x_real_positions =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB xg_select =C2=AB =
wait_reading_process_output =C2=AB sit_for =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop =C2=AB =
recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
>=20
> These are X events that come through the socket, so I don't see how we
> can avoid them.  I don't know enough about X to answer your questions
> about the possible way of avoiding these XSync calls.

Coordinate translation we presumably can=E2=80=99t avoid.  The XSync =
calls all seem to be about making sure we=E2=80=99re receiving any error =
events at the points in the code where we want to check for them=E2=80=A6 =
and in some cases, I think that=E2=80=99s only because the Xlib =
interfaces are kind of fuzzy about how to detect if a query for =
information worked or not.

I=E2=80=99ve been experimenting with using XCB interfaces to work around =
this.  With the XCB interfaces I can indeed send a GetGeometry request =
and a TranslateCoordinates request and a couple more, and then flush the =
output buffer, and then wait for all the results to come in, and find =
out whether I got a reply back or an error.  So I think in some of these =
cases the XSync calls can eventually go away, if XCB is available.

>=20
>>      2 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB font_open_by_spec =
=C2=AB font_open_by_name =C2=AB x_default_font_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall
>=20
> This loads fonts for the tip frame, so I don't think we can avoid
> them.  The font parameter in the tip-frame parameter alist can be
> changed by the caller.

The XListFonts call we need (though I think once again there are cases =
where we ask for the same info more than once), but the XSync call here =
is again about synchronizing error event handling.



>>      1 _XReply =C2=AB XParseColor =C2=AB x_parse_color =C2=AB =
x_defined_color =C2=AB x_decode_color =C2=AB x_set_background_color =C2=AB=
 x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check
>=20
> Colors for the tip frame; looks unavoidable (modulo some color
> caching).

I=E2=80=99ve been working on a set of patches relating to speeding this =
up:

 - Cache XParseColor results.

 - Avoid most direct XAllocColor calls for TrueColor displays.  Turns =
out the TrueColor visual type uses pixel values that encode the RGB =
values directly, so we don=E2=80=99t actually have to send a message to =
the server to allocate a color cell.  This already was happening in =
image.c, I mostly just expanded on it.

(I think those two made the biggest difference.)

 - Make x_set_mouse_color record serial numbers and use a new error =
handling routine to check them, reducing the number of XSync calls but =
not getting rid of them entirely.

 - Use XCB calls in x_real_pos_and_offsets and get_current_wm_state to =
manage the error handling more directly, so we don=E2=80=99t need to =
call XSync at all.  This one still needs a lot of work.  The =
font-listing code is next on my list.

 - Try to defer garbage collection while running commands like =
x-create-frame.

With these changes I=E2=80=99ve been able to shave the 5+ second delay =
for creating the tooltip on my remote connection down to about 2 seconds =
(including the tooltip delay).  Normal frame creation is also faster.  =
But there=E2=80=99s still room for improvement.

Ken=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 4 Oct 2015 09:45:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 04 05:45:51 2015
Received: from localhost ([127.0.0.1]:54213 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zifra-0006fx-R4
	for submit <at> debbugs.gnu.org; Sun, 04 Oct 2015 05:45:51 -0400
Received: from mtaout21.012.net.il ([80.179.55.169]:49366)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1ZifrX-0006fn-Jt
 for 21473 <at> debbugs.gnu.org; Sun, 04 Oct 2015 05:45:49 -0400
Received: from conversion-daemon.a-mtaout21.012.net.il by
 a-mtaout21.012.net.il (HyperSendmail v2007.08) id
 <0NVO00G00VYASM00@HIDDEN> for 21473 <at> debbugs.gnu.org;
 Sun, 04 Oct 2015 12:45:46 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout21.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NVO00G27WG9QE70@HIDDEN>;
 Sun, 04 Oct 2015 12:45:46 +0300 (IDT)
Date: Sun, 04 Oct 2015 12:45:42 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <6ebnci3o1s.fsf@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <83oagf0xx5.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Cc: 21473 <at> debbugs.gnu.org
> Date: Thu, 01 Oct 2015 06:01:35 -0400
> 
> We do all of this in "x_set_mouse_color" because the cursor color is a
> property of the cursor object, so we create new cursors, set their
> colors, and then start using them in place of the old ones.

Sorry, I don't understand: by "cursor" here do you mean the mouse
pointer?  If not, i.e. if this is the text cursor, then how is it
related to x_set_mouse_color?

> Below are the _XReply call stacks (with counts) I found once I worked up
> my color handling changes. There were 61 XSync calls in all, this time.
> This was for moving the mouse into the frame to the mode line (with
> focus elsewhere), and waiting for the tooltip to pop up.
> 
>       5 _XReply « XSync « x_check_errors « x_set_mouse_color « x_set_frame_parameters « x_default_parameter « x_create_tip_frame « Fx_show_tip « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « run_hook_with_args « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « Fapply « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « call1 « timer_check_2 « timer_check « readable_events « get_input_pending

Any idea why we need to call

  x_default_parameter (f, parms, Qmouse_color, build_string ("black"),
		       "pointerColor", "Foreground", RES_TYPE_STRING);

when creating a tip frame?  Do we want the tip frames to be able to
support mouse highlight or something?  If so, we could make this
conditional on some option, because the absolute majority of tooltips
don't use that.

>       4 _XReply « XSync « x_had_errors_p « x_real_pos_and_offsets « x_real_positions « handle_one_xevent « XTread_socket « gobble_input « handle_async_input « process_pending_signals « xg_select « wait_reading_process_output « sit_for « read_char « read_key_sequence « command_loop_1 « internal_condition_case « command_loop_2 « internal_catch « command_loop « recursive_edit_1 « Frecursive_edit « main
>       2 _XReply « XTranslateCoordinates « x_real_pos_and_offsets « x_real_positions « handle_one_xevent « XTread_socket « gobble_input « handle_async_input « process_pending_signals « xg_select « wait_reading_process_output « sit_for « read_char « read_key_sequence « command_loop_1 « internal_condition_case « command_loop_2 « internal_catch « command_loop « recursive_edit_1 « Frecursive_edit « main
>       2 _XReply « XSync « x_uncatch_errors « x_real_pos_and_offsets « x_real_positions « handle_one_xevent « XTread_socket « gobble_input « handle_async_input « process_pending_signals « xg_select « wait_reading_process_output « sit_for « read_char « read_key_sequence « command_loop_1 « internal_condition_case « command_loop_2 « internal_catch « command_loop « recursive_edit_1 « Frecursive_edit « main

These are X events that come through the socket, so I don't see how we
can avoid them.  I don't know enough about X to answer your questions
about the possible way of avoiding these XSync calls.

>       2 _XReply « XSync « x_uncatch_errors « xfont_list_pattern « xfont_list « font_list_entities « font_find_for_lface « font_load_for_lface « font_open_by_spec « font_open_by_name « x_default_font_parameter « x_create_tip_frame « Fx_show_tip « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « run_hook_with_args « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « Fapply « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall

This loads fonts for the tip frame, so I don't think we can avoid
them.  The font parameter in the tip-frame parameter alist can be
changed by the caller.

>       2 _XReply « XSync « x_uncatch_errors « get_current_wm_state « x_net_wm_state « handle_one_xevent « XTread_socket « gobble_input « handle_async_input « process_pending_signals « xg_select « wait_reading_process_output « sit_for « read_char « read_key_sequence « command_loop_1 « internal_condition_case « command_loop_2 « internal_catch « command_loop « recursive_edit_1 « Frecursive_edit « main

AFAIU, this is where we query the X server about fullscreen, whose
response in case of tip frames is probably known in advance, right?
Perhaps we could handle tip frames specially here, and avoid querying
the server?

>       1 _XReply « XQueryPointer « compute_tip_xy « Fx_show_tip « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « run_hook_with_args « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « Fapply « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « call1 « timer_check_2 « timer_check « readable_events « get_input_pending « detect_input_pending_run_timers « wait_reading_process_output « sit_for « read_char

Here we query the server about the mouse pointer position, so we could
position the tip frame.  I don't think we can avoid this one.

>       1 _XReply « XParseColor « x_parse_color « x_defined_color « x_decode_color « x_set_background_color « x_set_frame_parameters « x_default_parameter « x_create_tip_frame « Fx_show_tip « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « run_hook_with_args « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « Fapply « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « call1 « timer_check_2 « timer_check

Colors for the tip frame; looks unavoidable (modulo some color
caching).

>       1 _XReply « XGetSelectionOwner « Fx_selection_exists_p « Ffuncall « exec_byte_code « Ffuncall « Fapply « Ffuncall « exec_byte_code « Ffuncall « exec_byte_code « funcall_lambda « Ffuncall « eval_sub « Feval « internal_condition_case_1 « menu_item_eval_property « parse_tool_bar_item « process_tool_bar_item « map_keymap_item « map_keymap_internal « map_keymap « tool_bar_items « update_tool_bar « prepare_menu_bars « redisplay_internal « redisplay_preserve_echo_area « read_char « read_key_sequence « command_loop_1

That's unrelated to popping up a tooltip.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 1 Oct 2015 16:51:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 01 12:51:20 2015
Received: from localhost ([127.0.0.1]:50791 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zhh4h-0002lF-Qk
	for submit <at> debbugs.gnu.org; Thu, 01 Oct 2015 12:51:20 -0400
Received: from mail-qg0-f50.google.com ([209.85.192.50]:33112)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1Zhh4f-0002l7-No
 for 21473 <at> debbugs.gnu.org; Thu, 01 Oct 2015 12:51:18 -0400
Received: by qgev79 with SMTP id v79so72372813qge.0
 for <21473 <at> debbugs.gnu.org>; Thu, 01 Oct 2015 09:51:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version:content-type;
 bh=jfzYN7uHAytz30rILAzzGO51yfKwgTpTeW/n4hcOrNQ=;
 b=AhU7IUi+JhkZ3jHt2bFol8WKtkCJ4wn3qP3ic9wzWjHEC+VU1Yk3xdv9Dt6Tp9qTfZ
 KjwdZypRPi01QPl/xYYeJXbSHkVN40zf0uktfNIdtzSRJyn2kBlCFFc7Bp4p3VVc4V5X
 V3j6Tj+BZEf6Hprb6hsXJsykyEJxosUGG5VVQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version:content-type;
 bh=jfzYN7uHAytz30rILAzzGO51yfKwgTpTeW/n4hcOrNQ=;
 b=fdN5j0C2EBggmsJPzcC4wWtwjFBdvROrDgjApzaLcG0/FbxquKDTfbR7oqdN1zdDg6
 Ytn0KnD6YtrVoRsXjqw5IeUcO+jLrrovZxLZS5d0yT1cJB8lLPg9mjgvWzjQ/tPdE2Uh
 UjqOoJagZ09gFqNFYB1VVJk+5cIvgOC/4ffcRsbeUtW23McppPl2gupiDgkke99XhFZn
 kKCkQjuWxPFdL33+cRCIqEOeL9f8Eb+HcJ/5hFaMUGrLNXx0+OYdwZEkxl+oSJwVnHd6
 U4p8ZMBYU9ZXulMn6U3E6jtJR1ivPNe8yQ4ondtEMMlq2KwehcljvtHmgmsyOSqAAEZH
 oAqw==
X-Gm-Message-State: ALoCoQmAzbvtZMAlQ4+ZpFoAB6SyFvoHbYIWigOpzLYv/sh+pCEW04iAtm6GakzraPRSoo/9C8xB
X-Received: by 10.140.234.195 with SMTP id f186mr14629300qhc.25.1443718277060; 
 Thu, 01 Oct 2015 09:51:17 -0700 (PDT)
Received: from just-testing.permabit.com (vpn.permabit.com. [66.202.84.2])
 by smtp.gmail.com with ESMTPSA id f107sm2743956qge.23.2015.10.01.09.51.15
 (version=TLSv1.2 cipher=RC4-SHA bits=128/128);
 Thu, 01 Oct 2015 09:51:15 -0700 (PDT)
From: Ken Raeburn <raeburn@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN>
 <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN>
 <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN> <6ebnci3o1s.fsf@HIDDEN>
Date: Thu, 01 Oct 2015 12:51:14 -0400
In-Reply-To: <6ebnci3o1s.fsf@HIDDEN> (Ken Raeburn's message
 of "Thu, 01 Oct 2015 06:01:35 -0400")
Message-ID: <6e4mia3531.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

Ken Raeburn <raeburn@HIDDEN> writes:

> It occurs to me that maybe we can get rid of the XSync in
> x_catch_errors, if we record in the x_error_message_stack structure the
> serial number for the first request for which errors should be recorded
> there, using XNextRequest. If the error handler sees an older serial
> number in the error-event structure, then it looks at the next entry in
> the stack and tries again. Something similar may work for
> x_uncatch_errors too.

Ah...can the stacked entries refer to different displays?
That would make things more complicated.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 1 Oct 2015 10:01:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 01 06:01:43 2015
Received: from localhost ([127.0.0.1]:49915 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZhagI-0008LW-3b
	for submit <at> debbugs.gnu.org; Thu, 01 Oct 2015 06:01:43 -0400
Received: from mail-qk0-f171.google.com ([209.85.220.171]:35993)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1ZhagF-0008LO-Bh
 for 21473 <at> debbugs.gnu.org; Thu, 01 Oct 2015 06:01:41 -0400
Received: by qkcf65 with SMTP id f65so29619770qkc.3
 for <21473 <at> debbugs.gnu.org>; Thu, 01 Oct 2015 03:01:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version:content-type:content-transfer-encoding;
 bh=YffT2y2P+8D07ZsT3rxqiwd0mHKr57JvCZpKdySOHk4=;
 b=Ygz4BmPAOkHyiPfs09qjmjKR/6k1ysLc/xMQ/3c5vCowUhUZlBNFM30reMQXywxgpV
 EG1r8tdgE1P386ab+6xN1QXs0F70yU4R0HiZVDzHXLNaok6er4LWsEk4bVSE5lC7oj+a
 R1zSiCCm7L35rYh5cuW0A4VMj8+9oVJFBW3sw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version:content-type
 :content-transfer-encoding;
 bh=YffT2y2P+8D07ZsT3rxqiwd0mHKr57JvCZpKdySOHk4=;
 b=aJTnL820EUdsm+yAo6E+6HZchmTcg3SfMWSI5lh4XY99xsnknKyBTZQfTIe7cwsP43
 wG8FXDMHfgBwLdW8veBFE3CPrH353iqwnIv2RNWbkkuNXEtw6XCzCLJC37kvoFxHgd/6
 lQfeQvKWCq5SJdCNBrkssToG8hNr2Up/9drLlFcTpq1qVKfzjaSoHzdQXWbnq/B9zKPm
 156aX6x8T4xiAaLDxgjXCMPcvkKs7sO1VThI5xzD6RWgmQDA4hMltasHEC2tp0c8Ir6I
 jxlK4/gNRXiWLvI5y5nCVxoV5QZgpjhqlqfV7nbXUujiHbxf/XWhDRMasXxXMOB9zn67
 dF2w==
X-Gm-Message-State: ALoCoQkv98KGLTnS3G4ig4tFQxqMnG/iXSp1WqkdMjnjcIbY5M9sMDy618RvvRE+tnQ/8NZ2OExf
X-Received: by 10.55.198.77 with SMTP id b74mr10793440qkj.8.1443693698439;
 Thu, 01 Oct 2015 03:01:38 -0700 (PDT)
Received: from just-testing.permabit.com (vpn.permabit.com. [66.202.84.2])
 by smtp.gmail.com with ESMTPSA id 4sm2069427qhr.33.2015.10.01.03.01.36
 (version=TLSv1.2 cipher=RC4-SHA bits=128/128);
 Thu, 01 Oct 2015 03:01:36 -0700 (PDT)
From: Ken Raeburn <raeburn@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN>
 <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN>
 <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
 <83si5wbcap.fsf@HIDDEN>
Date: Thu, 01 Oct 2015 06:01:35 -0400
In-Reply-To: <83si5wbcap.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 30 Sep
 2015 10:23:42 +0300")
Message-ID: <6ebnci3o1s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


Eli Zaretskii <eliz@HIDDEN> writes:

> Let me be sure I understand: these XSync calls in the case of popping
> up a tooltip, are mostly due to color allocation?  Or is there other
> unnecessary face-related traffic that needs to be addressed?

No, the color allocations and XSync calls are two separate causes of
delay, each contributing round trips to the server. The XSync calls are
mostly due to error-trapping code (not in color lookup or allocation).

To pick one example, x_set_mouse_color does a sequence like this:

  x_catch_errors
    Calls XSync to make sure we've processed errors from previously sent
    requests, then pushes an x_error_message_stack structure onto a
    stack.
  XCreateFontCursor(x-pointer-shape or XC_xterm)
    Returns a value but this is a locally-assigned number, not an
    indication of success.
  x_check_errors("bad text pointer cursor")
    Calls XSync to make sure any error from XCreateFontCursor is
    received and processed.
  XCreateFontCursor(x-nontext-pointer-shape or XC_left_ptr)
  x_check_errors("bad nontext pointer cursor")
  XCreateFontCursor(x-hourglass-pointer-shape or XC_watch)
  x_check_errors(...etc...)
  XCreateFontCursor(x-mode-pointer-shape or XC_xterm)
  x_check_errors(...etc...)
  Several more XCreateFontCursor calls in a row.
  x_check_errors(...more generic message...)
  x_uncatch_errors
    Calls XSync to make sure we've received errors from any request sent
    since the last x_catch_errors or x_check_errors, and pops it off the
    stack.

We do all of this in "x_set_mouse_color" because the cursor color is a
property of the cursor object, so we create new cursors, set their
colors, and then start using them in place of the old ones.

So that's seven XSync calls, seven round trips, to make sure we catch
any X server errors returned for this code and turn them into
appropriate error messages.

(Fun fact: Setting x-hourglass-pointer-shape to a bad value like 999 or
"asdf" will prevent the tooltip frame from being created. Or any other X
frame.)

It's possible to look up the serial number of the next request to be
sent to the server (XNextRequest), and the error handler gets a data
structure that includes the serial number of the failing request
(error_event->serial). So with some more work we could correlate one or
more received errors with the requests we sent and pick which one we
wanted to report on. (We'd have to deal with XCreateFontCursor
potentially sending more than one X protocol request.) We'd still need
an XSync at the end of the sequence to flush any pending errors.


It occurs to me that maybe we can get rid of the XSync in
x_catch_errors, if we record in the x_error_message_stack structure the
serial number for the first request for which errors should be recorded
there, using XNextRequest. If the error handler sees an older serial
number in the error-event structure, then it looks at the next entry in
the stack and tries again. Something similar may work for
x_uncatch_errors too.


Getting back to the trace from my test run, another case I see is
x_real_pos_and_offsets. (Called when handle_one_xevent gets
ConfigureNotify, presumably for the tooltip window.) It uses XQueryTree
to walk up the window hierarchy to the root; the loop uses
x_had_errors_p (which calls XSync) each time. It also calls
XTranslateCoordinates and then x_had_errors_p. And XGetWindowProperty
followed by x_had_errors_p.

Since these routines normally return data from the server, if they get
errors back, is it ever possible for them to return to their caller
without having invoked the error handler on the error event structure?
Have the error callback delayed somehow? Looking at some old xfree86
sources online (the first I found), I don't think so, and I have a tough
time imagining how a robust package could be built otherwise.

If we can rely on it, then in x_real_pos_and_offsets, immediately after
functions like XQueryTree, XTranslateCoordinates, XGetWindowProperty,
and XGetGeometry, we shouldn't need to call XSync to check whether
errors happened. I don't know if there would be a better way to convey
that information than extra arguments to the error-trapping routines,
though.


Below are the _XReply call stacks (with counts) I found once I worked up
my color handling changes. There were 61 XSync calls in all, this time.
This was for moving the mouse into the frame to the mode line (with
focus elsewhere), and waiting for the tooltip to pop up.

      5 _XReply =C2=AB XSync =C2=AB x_check_errors =C2=AB x_set_mouse_color=
 =C2=AB x_set_frame_parameters =C2=AB x_default_parameter =C2=AB x_create_t=
ip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB fu=
ncall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_=
code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =
=C2=AB timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB get_i=
nput_pending
      4 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB x_real_pos_and_of=
fsets =C2=AB x_real_positions =C2=AB handle_one_xevent =C2=AB XTread_socket=
 =C2=AB gobble_input =C2=AB handle_async_input =C2=AB process_pending_signa=
ls =C2=AB xg_select =C2=AB wait_reading_process_output =C2=AB sit_for =C2=
=AB read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB interna=
l_condition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command=
_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XTranslateCoordinates =C2=AB x_real_pos_and_offsets =
=C2=AB x_real_positions =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=
=AB gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =
=C2=AB xg_select =C2=AB wait_reading_process_output =C2=AB sit_for =C2=AB r=
ead_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB internal_con=
dition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop=
 =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB x_real_pos_and_=
offsets =C2=AB x_real_positions =C2=AB handle_one_xevent =C2=AB XTread_sock=
et =C2=AB gobble_input =C2=AB handle_async_input =C2=AB process_pending_sig=
nals =C2=AB xg_select =C2=AB wait_reading_process_output =C2=AB sit_for =C2=
=AB read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB interna=
l_condition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command=
_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB xfont_list_patt=
ern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB font_open_by_spec =C2=AB font_open_by_nam=
e =C2=AB x_default_font_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_=
tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffun=
call =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run=
_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda=
 =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB=
 funcall_lambda =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB get_current_wm_=
state =C2=AB x_net_wm_state =C2=AB handle_one_xevent =C2=AB XTread_socket =
=C2=AB gobble_input =C2=AB handle_async_input =C2=AB process_pending_signal=
s =C2=AB xg_select =C2=AB wait_reading_process_output =C2=AB sit_for =C2=AB=
 read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB internal_c=
ondition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_lo=
op =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB x_wm_supports =C2=
=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB p=
rocess_pending_signals =C2=AB xg_select =C2=AB wait_reading_process_output =
=C2=AB sit_for =C2=AB read_char =C2=AB read_key_sequence =C2=AB command_loo=
p_1 =C2=AB internal_condition_case =C2=AB command_loop_2 =C2=AB internal_ca=
tch =C2=AB command_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=
=AB main
      2 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB xfont_list_patter=
n =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB font_open_by_spec =C2=AB font_open_by_nam=
e =C2=AB x_default_font_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_=
tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffun=
call =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run=
_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda=
 =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB=
 funcall_lambda =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB x_real_pos_and_of=
fsets =C2=AB x_real_positions =C2=AB handle_one_xevent =C2=AB XTread_socket=
 =C2=AB gobble_input =C2=AB handle_async_input =C2=AB process_pending_signa=
ls =C2=AB xg_select =C2=AB wait_reading_process_output =C2=AB sit_for =C2=
=AB read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB interna=
l_condition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command=
_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB xfont_list_patter=
n =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB font_open_by_spec =C2=AB font_open_by_nam=
e =C2=AB x_default_font_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_=
tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffun=
call =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run=
_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda=
 =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB=
 funcall_lambda =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB get_current_wm_st=
ate =C2=AB x_net_wm_state =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=
=AB gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =
=C2=AB xg_select =C2=AB wait_reading_process_output =C2=AB sit_for =C2=AB r=
ead_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB internal_con=
dition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop=
 =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XQueryTree =C2=AB x_real_pos_and_offsets =C2=AB x_re=
al_positions =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB gobble_in=
put =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB xg_sele=
ct =C2=AB wait_reading_process_output =C2=AB sit_for =C2=AB read_char =C2=
=AB read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop =C2=AB recu=
rsive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XListFonts =C2=AB xfont_list_pattern =C2=AB xfont_li=
st =C2=AB font_list_entities =C2=AB font_find_for_lface =C2=AB font_load_fo=
r_lface =C2=AB font_open_by_spec =C2=AB font_open_by_name =C2=AB x_default_=
font_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall=
 =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB exec_by=
te_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run_hook_with_args =C2=
=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =
=C2=AB Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB call1
      2 _XReply =C2=AB XGetWindowProperty =C2=AB x_real_pos_and_offsets =C2=
=AB x_real_positions =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB g=
obble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB sit_for =C2=AB read_ch=
ar =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition=
_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop =C2=
=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XGetWindowProperty =C2=AB get_current_wm_state =C2=
=AB x_net_wm_state =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB gob=
ble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB x=
g_select =C2=AB wait_reading_process_output =C2=AB sit_for =C2=AB read_char=
 =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_c=
ase =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop =C2=AB =
recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      2 _XReply =C2=AB XGetGeometry =C2=AB x_real_pos_and_offsets =C2=AB x_=
real_positions =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB gobble_=
input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB xg_se=
lect =C2=AB wait_reading_process_output =C2=AB sit_for =C2=AB read_char =C2=
=AB read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop =C2=AB recu=
rsive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB x_wm_supports =
=C2=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xeven=
t =C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB=
 process_pending_signals =C2=AB xg_select =C2=AB wait_reading_process_outpu=
t =C2=AB sit_for =C2=AB read_char =C2=AB read_key_sequence =C2=AB command_l=
oop_1 =C2=AB internal_condition_case =C2=AB command_loop_2 =C2=AB internal_=
catch =C2=AB command_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =
=C2=AB main
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB x_set_mouse_col=
or =C2=AB x_set_frame_parameters =C2=AB x_default_parameter =C2=AB x_create=
_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_=
code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =
=C2=AB timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB get_i=
nput_pending
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB xfont_list_patt=
ern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB x_supports_face_attributes_p =C2=AB Fdisplay_supports_f=
ace_attributes_p =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambd=
a =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffunca=
ll =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB exec_=
byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB x_creat=
e_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB xfont_list_patt=
ern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB face_at_string_position =C2=AB note_mode_line_or_margin=
_highlight =C2=AB note_mouse_highlight =C2=AB note_mouse_movement =C2=AB ha=
ndle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_asyn=
c_input =C2=AB process_pending_signals =C2=AB xg_select =C2=AB wait_reading=
_process_output =C2=AB kbd_buffer_get_event =C2=AB read_event_from_main_que=
ue =C2=AB read_decoded_event_from_main_queue =C2=AB read_char =C2=AB read_k=
ey_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =C2=AB com=
mand_loop_2
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB xfont_list_patt=
ern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB face_at_buffer_position =C2=AB handle_face_prop =C2=AB =
handle_stop =C2=AB start_display =C2=AB try_window =C2=AB Fx_show_tip =C2=
=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run_hook=
_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=
=AB Ffuncall =C2=AB Fapply
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB get_current_wm_=
state =C2=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one=
_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =
=C2=AB process_pending_signals =C2=AB xg_select =C2=AB wait_reading_process=
_output =C2=AB sit_for =C2=AB read_char =C2=AB read_key_sequence =C2=AB com=
mand_loop_1 =C2=AB internal_condition_case =C2=AB command_loop_2 =C2=AB int=
ernal_catch =C2=AB command_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_e=
dit =C2=AB main
      1 _XReply =C2=AB XSync =C2=AB x_sync =C2=AB x_wm_supports =C2=AB do_e=
wmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xevent =C2=AB XT=
read_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB process_pe=
nding_signals =C2=AB xg_select =C2=AB wait_reading_process_output =C2=AB si=
t_for =C2=AB read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=
=AB internal_condition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=
=AB command_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      1 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB xfont_list_patter=
n =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB x_supports_face_attributes_p =C2=AB Fdisplay_supports_f=
ace_attributes_p =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambd=
a =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffunca=
ll =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB exec_=
byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB x_creat=
e_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall
      1 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB xfont_list_patter=
n =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB face_at_string_position =C2=AB note_mode_line_or_margin=
_highlight =C2=AB note_mouse_highlight =C2=AB note_mouse_movement =C2=AB ha=
ndle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_asyn=
c_input =C2=AB process_pending_signals =C2=AB xg_select =C2=AB wait_reading=
_process_output =C2=AB kbd_buffer_get_event =C2=AB read_event_from_main_que=
ue =C2=AB read_decoded_event_from_main_queue =C2=AB read_char =C2=AB read_k=
ey_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =C2=AB com=
mand_loop_2
      1 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB xfont_list_patter=
n =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB face_at_buffer_position =C2=AB handle_face_prop =C2=AB =
handle_stop =C2=AB start_display =C2=AB try_window =C2=AB Fx_show_tip =C2=
=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run_hook=
_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=
=AB Ffuncall =C2=AB Fapply
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB x_wm_supports =C2=
=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB p=
rocess_pending_signals =C2=AB xg_select =C2=AB wait_reading_process_output =
=C2=AB sit_for =C2=AB read_char =C2=AB read_key_sequence =C2=AB command_loo=
p_1 =C2=AB internal_condition_case =C2=AB command_loop_2 =C2=AB internal_ca=
tch =C2=AB command_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=
=AB main
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB x_set_mouse_color=
 =C2=AB x_set_frame_parameters =C2=AB x_default_parameter =C2=AB x_create_t=
ip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB fu=
ncall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_=
code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =
=C2=AB timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB get_i=
nput_pending
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB xfont_list_patter=
n =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB x_supports_face_attributes_p =C2=AB Fdisplay_supports_f=
ace_attributes_p =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambd=
a =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffunca=
ll =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB exec_=
byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB x_creat=
e_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB xfont_list_patter=
n =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB face_at_string_position =C2=AB note_mode_line_or_margin=
_highlight =C2=AB note_mouse_highlight =C2=AB note_mouse_movement =C2=AB ha=
ndle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_asyn=
c_input =C2=AB process_pending_signals =C2=AB xg_select =C2=AB wait_reading=
_process_output =C2=AB kbd_buffer_get_event =C2=AB read_event_from_main_que=
ue =C2=AB read_decoded_event_from_main_queue =C2=AB read_char =C2=AB read_k=
ey_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =C2=AB com=
mand_loop_2
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB xfont_list_patter=
n =C2=AB xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =
=C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB=
 lookup_face =C2=AB face_at_buffer_position =C2=AB handle_face_prop =C2=AB =
handle_stop =C2=AB start_display =C2=AB try_window =C2=AB Fx_show_tip =C2=
=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run_hook=
_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=
=AB Ffuncall =C2=AB Fapply
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB get_current_wm_st=
ate =C2=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_x=
event =C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =
=C2=AB process_pending_signals =C2=AB xg_select =C2=AB wait_reading_process=
_output =C2=AB sit_for =C2=AB read_char =C2=AB read_key_sequence =C2=AB com=
mand_loop_1 =C2=AB internal_condition_case =C2=AB command_loop_2 =C2=AB int=
ernal_catch =C2=AB command_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_e=
dit =C2=AB main
      1 _XReply =C2=AB XQueryPointer =C2=AB compute_tip_xy =C2=AB Fx_show_t=
ip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffunc=
all =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run_=
hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB timer_check_2 =C2=AB tim=
er_check =C2=AB readable_events =C2=AB get_input_pending =C2=AB detect_inpu=
t_pending_run_timers =C2=AB wait_reading_process_output =C2=AB sit_for =C2=
=AB read_char
      1 _XReply =C2=AB XParseColor =C2=AB x_parse_color =C2=AB x_defined_co=
lor =C2=AB x_decode_color =C2=AB x_set_background_color =C2=AB x_set_frame_=
parameters =C2=AB x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_s=
how_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_la=
mbda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB timer_check_2 =C2=
=AB timer_check
      1 _XReply =C2=AB XListFonts =C2=AB xfont_list_pattern =C2=AB xfont_li=
st =C2=AB font_list_entities =C2=AB font_find_for_lface =C2=AB font_load_fo=
r_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB lookup_face =C2=AB=
 x_supports_face_attributes_p =C2=AB Fdisplay_supports_face_attributes_p =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall=
 =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB exec_by=
te_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB x_create_tip_frame =C2=
=AB Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code
      1 _XReply =C2=AB XListFonts =C2=AB xfont_list_pattern =C2=AB xfont_li=
st =C2=AB font_list_entities =C2=AB font_find_for_lface =C2=AB font_load_fo=
r_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB lookup_face =C2=AB=
 face_at_string_position =C2=AB note_mode_line_or_margin_highlight =C2=AB n=
ote_mouse_highlight =C2=AB note_mouse_movement =C2=AB handle_one_xevent =C2=
=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB proc=
ess_pending_signals =C2=AB xg_select =C2=AB wait_reading_process_output =C2=
=AB kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB read_deco=
ded_event_from_main_queue =C2=AB read_char =C2=AB read_key_sequence =C2=AB =
command_loop_1 =C2=AB internal_condition_case =C2=AB command_loop_2 =C2=AB =
internal_catch
      1 _XReply =C2=AB XListFonts =C2=AB xfont_list_pattern =C2=AB xfont_li=
st =C2=AB font_list_entities =C2=AB font_find_for_lface =C2=AB font_load_fo=
r_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB lookup_face =C2=AB=
 face_at_buffer_position =C2=AB handle_face_prop =C2=AB handle_stop =C2=AB =
start_display =C2=AB try_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB e=
xec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB run_hook_with_args =C2=AB Ffun=
call =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fap=
ply =C2=AB Ffuncall
      1 _XReply =C2=AB XGetWindowProperty =C2=AB x_wm_supports =C2=AB do_ew=
mh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xevent =C2=AB XTr=
ead_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB process_pen=
ding_signals =C2=AB xg_select =C2=AB wait_reading_process_output =C2=AB sit=
_for =C2=AB read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB=
 internal_condition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB=
 command_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=AB main
      1 _XReply =C2=AB XGetWindowProperty =C2=AB get_current_wm_state =C2=
=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB p=
rocess_pending_signals =C2=AB xg_select =C2=AB wait_reading_process_output =
=C2=AB sit_for =C2=AB read_char =C2=AB read_key_sequence =C2=AB command_loo=
p_1 =C2=AB internal_condition_case =C2=AB command_loop_2 =C2=AB internal_ca=
tch =C2=AB command_loop =C2=AB recursive_edit_1 =C2=AB Frecursive_edit =C2=
=AB main
      1 _XReply =C2=AB XGetSelectionOwner =C2=AB Fx_selection_exists_p =C2=
=AB Ffuncall =C2=AB exec_byte_code =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffu=
ncall =C2=AB exec_byte_code =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB fu=
ncall_lambda =C2=AB Ffuncall =C2=AB eval_sub =C2=AB Feval =C2=AB internal_c=
ondition_case_1 =C2=AB menu_item_eval_property =C2=AB parse_tool_bar_item =
=C2=AB process_tool_bar_item =C2=AB map_keymap_item =C2=AB map_keymap_inter=
nal =C2=AB map_keymap =C2=AB tool_bar_items =C2=AB update_tool_bar =C2=AB p=
repare_menu_bars =C2=AB redisplay_internal =C2=AB redisplay_preserve_echo_a=
rea =C2=AB read_char =C2=AB read_key_sequence =C2=AB command_loop_1




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 30 Sep 2015 07:24:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 30 03:24:27 2015
Received: from localhost ([127.0.0.1]:48544 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZhBkY-0000Ok-Tb
	for submit <at> debbugs.gnu.org; Wed, 30 Sep 2015 03:24:27 -0400
Received: from mtaout20.012.net.il ([80.179.55.166]:45665)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1ZhBkV-0000OX-Eh
 for 21473 <at> debbugs.gnu.org; Wed, 30 Sep 2015 03:24:24 -0400
Received: from conversion-daemon.a-mtaout20.012.net.il by
 a-mtaout20.012.net.il (HyperSendmail v2007.08) id
 <0NVH00D00B1BLF00@HIDDEN> for 21473 <at> debbugs.gnu.org;
 Wed, 30 Sep 2015 10:23:28 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout20.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NVH00DRKB734MA0@HIDDEN>;
 Wed, 30 Sep 2015 10:23:28 +0300 (IDT)
Date: Wed, 30 Sep 2015 10:23:42 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <83si5wbcap.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN> <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Sun, 27 Sep 2015 09:29:11 -0400
> Cc: 21473 <at> debbugs.gnu.org
> 
> 
> > On Sep 27, 2015, at 06:38, Eli Zaretskii <eliz@HIDDEN> wrote:
> > 
> >> From: Ken Raeburn <raeburn@HIDDEN>
> >> Date: Sun, 27 Sep 2015 06:35:30 -0400
> >> Cc: 21473 <at> debbugs.gnu.org
> >> 
> >> This one’s still basically unchanged. I just got 165 _XReply round-trip delays, with face realization color requests accounting for 60 of those, x_create_tip_frame initialization using “black” and “white” accounting for a dozen more, and other XParseColor or XAllocColor calls bringing it up to around 100 (maybe fewer than last time, by just a few); 38 XSync calls, almost all for error catching. The other ~20% is XQueryColors, XListFonts, XGetWindowProperty, and a few other calls that need responses.
> > 
> > So you are saying that creating a tip frame is significantly different
> > in this regard from creating any "regular" frame?  If so, where are
> > the differences, wrt face realization and color allocation?
> 
> Some of the creation process is different, yes, though Fx_create_frame and x_create_tip_frame do a lot of the same work; both cause basic face realization on the new frame, but x_create_tip_frame doesn’t seem to have had the issue that triggered it on other frames. (For example, it doesn’t set a default gamma value, while Fx_create_frame does.) The face realization happening here is all about the new frame.
> 
> This traffic was also present when I was looking into #11822, but as I was using a local display for the new frame, those round trips were fast and thus weren’t a problem. In this case, though, my one and only normal frame is displayed remotely, as is the tip frame, so now the excessive round trips slow it down a lot. Some of it’s going to be necessary, of course, but we’re making repetitive queries for colors we’ve looked up before, probably more XSync calls than are really necessary, etc.

Let me be sure I understand: these XSync calls in the case of popping
up a tooltip, are mostly due to color allocation?  Or is there other
unnecessary face-related traffic that needs to be addressed?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 29 Sep 2015 20:16:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 29 16:16:03 2015
Received: from localhost ([127.0.0.1]:48232 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zh1Jj-0000z6-1h
	for submit <at> debbugs.gnu.org; Tue, 29 Sep 2015 16:16:03 -0400
Received: from mail-la0-f54.google.com ([209.85.215.54]:35213)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1Zh1Jg-0000yc-OX
 for 21473 <at> debbugs.gnu.org; Tue, 29 Sep 2015 16:16:01 -0400
Received: by laer8 with SMTP id r8so22315184lae.2
 for <21473 <at> debbugs.gnu.org>; Tue, 29 Sep 2015 13:15:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=mime-version:in-reply-to:references:date:message-id:subject:from:to
 :cc:content-type;
 bh=YN/7o0yPD9uJJ5O/tLPwYQ8IWV9DPyzyzt9qDBsD1N0=;
 b=KzxcCtdXNAfpYJ2msd8UwZoC+6H01L9EkR9gPHlbOtQ4TmEX+1A9JRvqlYHDMzYMPz
 CA3flvyx9pdutFpnrrLTKlCqgJJwGP3ACYRmWCWw17yRaYNu194Dfz4HBr1Q4m8PgAZv
 EJ5HirRLPwSI6p38beGl6TBKoy+3ldXBYprBg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:mime-version:in-reply-to:references:date
 :message-id:subject:from:to:cc:content-type;
 bh=YN/7o0yPD9uJJ5O/tLPwYQ8IWV9DPyzyzt9qDBsD1N0=;
 b=SjIsOXm8sz46Ol/6WFn1NCBwQA2MZzd6fqZ2UgOVPT9Xl1CNUWIHOU3zBSS4hyZVrj
 9Bx8yxKIyl8sn+fd3hFUGPqQeR0S7EvtItizUhZad/mG/8fnDR03md/+saBHALQBXIcc
 c4EvYc+YOdkqrwRvzSabrcKxGk0jcumErbPit4UYWSVzaf53Am5g+LwIUmAjxMPNSkSl
 FfUEkfDCTq6wnj+CHv/QFdXEyqUOROvbMFIkMhEJAB3RKCcuejdowIVwV8rzcvUjEwFv
 RteHyaqds3wON9mddJ7m1H0Cmo7SxW8DOcpO95aU0Ux4BQEt3PSCTmx03y5Du923vRWl
 ji0g==
X-Gm-Message-State: ALoCoQkHwI15DQeWKWzr2Vxmu8Psdfu3iYlE1qc7wS7JgFQSVATLDBbMPMoUccXR4B+hxyv5cQ3D
MIME-Version: 1.0
X-Received: by 10.112.198.198 with SMTP id je6mr7954006lbc.31.1443557759658;
 Tue, 29 Sep 2015 13:15:59 -0700 (PDT)
Received: by 10.112.168.38 with HTTP; Tue, 29 Sep 2015 13:15:59 -0700 (PDT)
In-Reply-To: <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN>
 <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN>
 <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
Date: Tue, 29 Sep 2015 16:15:59 -0400
Message-ID: <CAJJWxE8J5Y6R8X_nV+JFM5L5fV-uiW7cYbyLe3zNdbeA++3PVQ@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
From: Ken Raeburn <raeburn@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Content-Type: multipart/alternative; boundary=001a11c241827a49c30520e87b12
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

--001a11c241827a49c30520e87b12
Content-Type: text/plain; charset=UTF-8

I'm working on some experimental patches to implement caching of color-name
lookups and color-cell allocations.

Along the way I noticed that for visual class TrueColor, we never free
color cells on the server, and we can (and do, but only in image.c)
synthesize pixel values from RGB values instead of calling XAllocColor and
making the round trip to the server. TrueColor is all my laptop display
supports, and I gather it's supported on most hardware these days, so it
may be worth taking advantage of these to cut out the extra traffic, and I
can probably drop the color-cell allocation cache work...

Ken

--001a11c241827a49c30520e87b12
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I&#39;m working on some experimental patches to implement =
caching of color-name lookups and color-cell allocations.<div><br></div><di=
v>Along the way I noticed that for visual class TrueColor, we never free co=
lor cells on the server, and we can (and do, but only in image.c) synthesiz=
e pixel values from RGB values instead of calling XAllocColor and making th=
e round trip to the server. TrueColor is all my laptop display supports, an=
d I gather it&#39;s supported on most hardware these days, so it may be wor=
th taking advantage of these to cut out the extra traffic, and I can probab=
ly drop the color-cell allocation cache work...</div><div><br></div><div>Ke=
n</div></div>

--001a11c241827a49c30520e87b12--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 27 Sep 2015 13:29:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 27 09:29:23 2015
Received: from localhost ([127.0.0.1]:45601 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZgC15-0006RI-2V
	for submit <at> debbugs.gnu.org; Sun, 27 Sep 2015 09:29:23 -0400
Received: from mail-qk0-f180.google.com ([209.85.220.180]:35591)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1ZgC0x-0006Qb-QY
 for 21473 <at> debbugs.gnu.org; Sun, 27 Sep 2015 09:29:16 -0400
Received: by qkap81 with SMTP id p81so58878447qka.2
 for <21473 <at> debbugs.gnu.org>; Sun, 27 Sep 2015 06:29:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=ZRhBXMn/uWXO+fCuddbtfKIMLW/z+ML4YeVDyqXA7R0=;
 b=hBszYbnVV2xJwPXJOvCs3eDvjKVjsspWC0pkzOHglRpCCLDk7slpR/0KpGYb89+oSR
 B8CBLPzYhNkIO74Mf+Qgd46xaBq+AKHxIYXfTCy3DBSaQAXi5m6B8FvC0H6guMnVgl+R
 grsn7jmZC7TvmNvGbVevecqCPUIO4NPH3cS4Q=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=ZRhBXMn/uWXO+fCuddbtfKIMLW/z+ML4YeVDyqXA7R0=;
 b=bM3+0rYdWLVUbirezUugNnNcr/h8CY/wepcXm5vEaeW2tNcYjw/sGVwYivfd3KllvM
 BFu9YUpT6gMLPzxm/bBphZHq8lXMkimzj7fw/3kyJ6HIoiJHFKr1/5zrcl/uHEWV9325
 b+lVILNlXASJvdwc6OTPE9OFRCFURdvAvGvtbK6wvfzbte2YWBv2OL0VEy+fbueaxcjD
 +/gyQ1v330gXwh/sQnwmZmBcDzxsv5INshpRI0imizUbhoddmIfahEMiwZklnoba5eOP
 Pozm4zOjyQqDCaN6kmIVs53HmjiUJwZlWzKTmL01bXIc9GsAiJt3MhhV890f/esnAspU
 HXJg==
X-Gm-Message-State: ALoCoQlXZVE2ZJkwWTj8dFpQIiLOZ39YuT35FQaRhjqjqVi9aJF274EdOqkhyObO/biKNdgn6dtT
X-Received: by 10.55.198.9 with SMTP id b9mr16590679qkj.97.1443360555361;
 Sun, 27 Sep 2015 06:29:15 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id y12sm5211784qgd.20.2015.09.27.06.29.13
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Sun, 27 Sep 2015 06:29:14 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <83612wf8pr.fsf@HIDDEN>
Date: Sun, 27 Sep 2015 09:29:11 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <BB52C645-1B8C-499F-87DE-FA960C6E438A@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
 <83612wf8pr.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


> On Sep 27, 2015, at 06:38, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Ken Raeburn <raeburn@HIDDEN>
>> Date: Sun, 27 Sep 2015 06:35:30 -0400
>> Cc: 21473 <at> debbugs.gnu.org
>>=20
>> This one=E2=80=99s still basically unchanged. I just got 165 _XReply =
round-trip delays, with face realization color requests accounting for =
60 of those, x_create_tip_frame initialization using =E2=80=9Cblack=E2=80=9D=
 and =E2=80=9Cwhite=E2=80=9D accounting for a dozen more, and other =
XParseColor or XAllocColor calls bringing it up to around 100 (maybe =
fewer than last time, by just a few); 38 XSync calls, almost all for =
error catching. The other ~20% is XQueryColors, XListFonts, =
XGetWindowProperty, and a few other calls that need responses.
>=20
> So you are saying that creating a tip frame is significantly different
> in this regard from creating any "regular" frame?  If so, where are
> the differences, wrt face realization and color allocation?

Some of the creation process is different, yes, though Fx_create_frame =
and x_create_tip_frame do a lot of the same work; both cause basic face =
realization on the new frame, but x_create_tip_frame doesn=E2=80=99t =
seem to have had the issue that triggered it on other frames. (For =
example, it doesn=E2=80=99t set a default gamma value, while =
Fx_create_frame does.) The face realization happening here is all about =
the new frame.

This traffic was also present when I was looking into #11822, but as I =
was using a local display for the new frame, those round trips were fast =
and thus weren=E2=80=99t a problem. In this case, though, my one and =
only normal frame is displayed remotely, as is the tip frame, so now the =
excessive round trips slow it down a lot. Some of it=E2=80=99s going to =
be necessary, of course, but we=E2=80=99re making repetitive queries for =
colors we=E2=80=99ve looked up before, probably more XSync calls than =
are really necessary, etc.

Ken=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 27 Sep 2015 10:38:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 27 06:38:19 2015
Received: from localhost ([127.0.0.1]:45535 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zg9LX-0000q1-2b
	for submit <at> debbugs.gnu.org; Sun, 27 Sep 2015 06:38:19 -0400
Received: from mtaout20.012.net.il ([80.179.55.166]:37311)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1Zg9LV-0000ps-5Q
 for 21473 <at> debbugs.gnu.org; Sun, 27 Sep 2015 06:38:18 -0400
Received: from conversion-daemon.a-mtaout20.012.net.il by
 a-mtaout20.012.net.il (HyperSendmail v2007.08) id
 <0NVB00A00ZQBWZ00@HIDDEN> for 21473 <at> debbugs.gnu.org;
 Sun, 27 Sep 2015 13:38:15 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout20.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NVC00ADM07RKEB0@HIDDEN>;
 Sun, 27 Sep 2015 13:38:15 +0300 (IDT)
Date: Sun, 27 Sep 2015 13:38:24 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <83612wf8pr.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN> <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Sun, 27 Sep 2015 06:35:30 -0400
> Cc: 21473 <at> debbugs.gnu.org
> 
> This one’s still basically unchanged. I just got 165 _XReply round-trip delays, with face realization color requests accounting for 60 of those, x_create_tip_frame initialization using “black” and “white” accounting for a dozen more, and other XParseColor or XAllocColor calls bringing it up to around 100 (maybe fewer than last time, by just a few); 38 XSync calls, almost all for error catching. The other ~20% is XQueryColors, XListFonts, XGetWindowProperty, and a few other calls that need responses.

So you are saying that creating a tip frame is significantly different
in this regard from creating any "regular" frame?  If so, where are
the differences, wrt face realization and color allocation?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 27 Sep 2015 10:35:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Sep 27 06:35:39 2015
Received: from localhost ([127.0.0.1]:45531 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1Zg9Iv-0000m9-I8
	for submit <at> debbugs.gnu.org; Sun, 27 Sep 2015 06:35:38 -0400
Received: from mail-qk0-f170.google.com ([209.85.220.170]:36311)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1Zg9It-0000lz-6N
 for 21473 <at> debbugs.gnu.org; Sun, 27 Sep 2015 06:35:35 -0400
Received: by qkcf65 with SMTP id f65so57923345qkc.3
 for <21473 <at> debbugs.gnu.org>; Sun, 27 Sep 2015 03:35:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=subject:mime-version:content-type:from:in-reply-to:date:cc
 :content-transfer-encoding:message-id:references:to;
 bh=uIJ0tVPcEzr4VWAwrUQaBEFarql3p/pGSxMaYSdGdR8=;
 b=KeUph0QTL1AQ5vQ9S17+lglZVrV/ifGjd+1GE47iTpGHCIHVMenkujiIH7gZZNmB3P
 hMuNijAyLheoca+Yq2CCufN/wqqA5FdxT37kfkkQtbIRSMr7SPYWy/y5akSdD6Vb/Vgk
 LWBcyHmB9YAxeEiUmjmAs1qCzHSc7ZhoE/6io=
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:content-type:from
 :in-reply-to:date:cc:content-transfer-encoding:message-id:references
 :to; bh=uIJ0tVPcEzr4VWAwrUQaBEFarql3p/pGSxMaYSdGdR8=;
 b=EzsdC1ihS864rRyut8iLtCh7J85tPujEu7g45fFTL3Auc1yh4ynjKiGvUiI+TAw7aT
 qUESmUgXjNDyDSdlSht3cvs5583KTSPIcLgzdSljohCftTXKBbpz/aOPBFsPrg89mfLo
 IwGImRqc8n2vwhDOZGIqxwuFeZ4lal/E0gM75njHMZwjJ+ufEMTFh1RVUgaEOvFB25iP
 PxK1Ry2jq+tO9eFm0YI7QLMHAOEoZ1HVR/z5wGb6KjObc5Qvl3aYJgzSMbiW07O2uNYs
 2nsZ6U8xQYouVzwRE5QWvM/rNMUQL/WovhN26tq8ecmczIaLY9SfnX3CLgkjBiFXGoZf
 uq/w==
X-Gm-Message-State: ALoCoQmPfoJxYf9/8CkjT7hiG8dsupX37R8vZsRTMxdiCNO7P1X3NVaEWd4yoeGyOWrHTbFLamWh
X-Received: by 10.55.209.90 with SMTP id s87mr16479290qki.26.1443350134391;
 Sun, 27 Sep 2015 03:35:34 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id 65sm4959264qha.41.2015.09.27.03.35.32
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Sun, 27 Sep 2015 03:35:33 -0700 (PDT)
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
Content-Type: text/plain; charset=utf-8
From: Ken Raeburn <raeburn@HIDDEN>
In-Reply-To: <83pp15hdbg.fsf@HIDDEN>
Date: Sun, 27 Sep 2015 06:35:30 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <59C0A752-87BB-4467-9A3F-DC1E5A278842@HIDDEN>
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <83pp15hdbg.fsf@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
X-Mailer: Apple Mail (2.2104)
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)


> On Sep 26, 2015, at 03:03, Eli Zaretskii <eliz@HIDDEN> wrote:
>=20
>> From: Ken Raeburn <raeburn@HIDDEN>
>> Date: Mon, 14 Sep 2015 04:13:41 -0400
>>=20
>> (=E2=80=9Cspun off=E2=80=9D from discussion in bug #11822 that was =
wandering off topic)
>=20
> Given the latest changes wrt face realization, does this bug still
> need attention?  If so, could you provide an update regarding the
> portions that take the most time?

This one=E2=80=99s still basically unchanged. I just got 165 _XReply =
round-trip delays, with face realization color requests accounting for =
60 of those, x_create_tip_frame initialization using =E2=80=9Cblack=E2=80=9D=
 and =E2=80=9Cwhite=E2=80=9D accounting for a dozen more, and other =
XParseColor or XAllocColor calls bringing it up to around 100 (maybe =
fewer than last time, by just a few); 38 XSync calls, almost all for =
error catching. The other ~20% is XQueryColors, XListFonts, =
XGetWindowProperty, and a few other calls that need responses.

Ken=




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 26 Sep 2015 07:03:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Sep 26 03:03:45 2015
Received: from localhost ([127.0.0.1]:43923 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZfjWL-0006gs-Fg
	for submit <at> debbugs.gnu.org; Sat, 26 Sep 2015 03:03:45 -0400
Received: from mtaout27.012.net.il ([80.179.55.183]:33850)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1ZfjWI-0006gh-BT
 for 21473 <at> debbugs.gnu.org; Sat, 26 Sep 2015 03:03:43 -0400
Received: from conversion-daemon.mtaout27.012.net.il by mtaout27.012.net.il
 (HyperSendmail v2007.08) id <0NV900D00VFMVD00@HIDDEN> for
 21473 <at> debbugs.gnu.org; Sat, 26 Sep 2015 09:59:59 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout27.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NV900D0TVFYWF00@HIDDEN>; Sat, 26 Sep 2015 09:59:59 +0300 (IDT)
Date: Sat, 26 Sep 2015 10:03:47 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <83pp15hdbg.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Mon, 14 Sep 2015 04:13:41 -0400
> 
> (“spun off” from discussion in bug #11822 that was wandering off topic)

Given the latest changes wrt face realization, does this bug still
need attention?  If so, could you provide an update regarding the
portions that take the most time?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 15 Sep 2015 22:03:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 15 18:03:07 2015
Received: from localhost ([127.0.0.1]:33641 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZbyJe-0003Dw-T2
	for submit <at> debbugs.gnu.org; Tue, 15 Sep 2015 18:03:07 -0400
Received: from mail-qg0-f42.google.com ([209.85.192.42]:34353)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1ZbyJc-0003Do-QH
 for 21473 <at> debbugs.gnu.org; Tue, 15 Sep 2015 18:03:05 -0400
Received: by qgez77 with SMTP id z77so156895273qge.1
 for <21473 <at> debbugs.gnu.org>; Tue, 15 Sep 2015 15:03:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version:content-type;
 bh=fwCifxuLE+pntTyBckRV1aHzYkNP2dIA+AS1aexzp2U=;
 b=CeXYyzrqCBHIkJHC0DKDIv20+zq/UfP8wdKefpDBSeuKzM6/YZWwEa5qxAARizZQe+
 fmmMCoE1oMpJApvEgETsriT0Ww/dCVsopw+t5HZdUPnEVGjuzkqUn4qoe6uR8nGYnkz5
 1NifVVd2xZPgaWmmwJltVTgey/rxJ/6IHI4Ls=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version:content-type;
 bh=fwCifxuLE+pntTyBckRV1aHzYkNP2dIA+AS1aexzp2U=;
 b=GpxCIgJLasTkZLOEC/f1eD1XcryrZ44nSPPROptJeOLaOsDIgWI61csQWf1/TmTvCl
 lO/w5x6hciN5+izFf3UOYeknc/KD/nvLok7LRifIlyTCuvyUC0MBVnaiHR0ZeFMxDekX
 qI3bG0AldGndzfBwUmsuyGItI9LaLGtJ11zfds6gp9qDdgeLP01UtMp+NCvWpx5MFJ7A
 dL56M/61V7UNbCoNk2PKr/kNMlsJyFJEYuM+OW7QLzIIymwCfIbfCu0PHlLbcgV1eOfs
 o8eatRRZVvv12JrZzS5B7m2wQycDTRFew6QO5JAfF3kYXaw+Qr05pj2LFp4z3/pzxtNf
 mn/w==
X-Gm-Message-State: ALoCoQmVkWEb6jWEddRdH4Dk7to98TF4qY9VKnMWUFd0pEkbSC53HAuEABlIaJ9XC0MvQGzha7BU
X-Received: by 10.140.235.216 with SMTP id g207mr37495755qhc.98.1442354584236; 
 Tue, 15 Sep 2015 15:03:04 -0700 (PDT)
Received: from just-testing.permabit.com (vpn.permabit.com. [66.202.84.2])
 by smtp.gmail.com with ESMTPSA id s12sm8825148qkl.2.2015.09.15.15.03.02
 (version=TLSv1.2 cipher=RC4-SHA bits=128/128);
 Tue, 15 Sep 2015 15:03:02 -0700 (PDT)
From: Ken Raeburn <raeburn@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
 <8337yf92jc.fsf@HIDDEN>
Date: Tue, 15 Sep 2015 18:03:01 -0400
In-Reply-To: <8337yf92jc.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 15 Sep
 2015 17:32:07 +0300")
Message-ID: <6eoah3pch6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.93 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.7 (/)

Eli Zaretskii <eliz@HIDDEN> writes:

> Is there something new in what you discovered, given the fact that a
> tooltip is just a special kind of frame, and so everything that you
> reported which causes slow creation of a new frame pertains also to
> tooltips?

Some of it, yes.

Some of this is similar to stuff that I dug up looking into #11822, but
which wasn't the "unneeded work on other frames" issue where I thought
we wanted to keep the focus for #11822, hence the separate filing. But
in this case, most of the X network exchanges appear to be just about
the new frame, so the fix for #11822 Stefan proposed doesn't look like
it should affect this.

While the tooltip is a kind of frame, its creation is handled
differently from a regular X frame, which may be why it seems to
side-step the additional other-frame work seen in #11822.

The heavy use of XSync calls are something I hadn't looked into before,
also.

Ken




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at 21473 <at> debbugs.gnu.org:


Received: (at 21473) by debbugs.gnu.org; 15 Sep 2015 14:32:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 15 10:32:11 2015
Received: from localhost ([127.0.0.1]:33363 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZbrHG-00081L-Nr
	for submit <at> debbugs.gnu.org; Tue, 15 Sep 2015 10:32:11 -0400
Received: from mtaout21.012.net.il ([80.179.55.169]:60950)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <eliz@HIDDEN>) id 1ZbrHE-000819-2i
 for 21473 <at> debbugs.gnu.org; Tue, 15 Sep 2015 10:32:09 -0400
Received: from conversion-daemon.a-mtaout21.012.net.il by
 a-mtaout21.012.net.il (HyperSendmail v2007.08) id
 <0NUQ00K002X52B00@HIDDEN> for 21473 <at> debbugs.gnu.org;
 Tue, 15 Sep 2015 17:32:06 +0300 (IDT)
Received: from HOME-C4E4A596F7 ([84.94.185.246]) by a-mtaout21.012.net.il
 (HyperSendmail v2007.08) with ESMTPA id
 <0NUQ00JKM31IZF70@HIDDEN>;
 Tue, 15 Sep 2015 17:32:06 +0300 (IDT)
Date: Tue, 15 Sep 2015 17:32:07 +0300
From: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#21473: 24.5;
 very slow tooltip display to sort-of-slow remote display
In-reply-to: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
X-012-Sender: halo1@HIDDEN
To: Ken Raeburn <raeburn@HIDDEN>
Message-id: <8337yf92jc.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-transfer-encoding: 8BIT
References: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 21473
Cc: 21473 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Eli Zaretskii <eliz@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.0 (+)

> From: Ken Raeburn <raeburn@HIDDEN>
> Date: Mon, 14 Sep 2015 04:13:41 -0400
> 
> I’ve noticed that when I’m using a “slow” network link — high bandwidth but a round-trip time of 30-40 milliseconds (remember when that was fast?) — the tooltip window that pops up when I move the mouse, say, over the buffer name in the mode line, takes much longer to come up than when I’m running Emacs on a local display. And if I keep moving the mouse around, I’m likely to get the tooltip for the buffer-name part of the mode line, but displayed somewhere else entirely, depending where the mouse has moved to.
> 
> Based on some earlier investigations, I used gdb to look at calls to _XReply in the Xlib library; this is the routine that flushes the outgoing buffer to the X server and then waits for a response, which contains color info or font info or whatever else is wanted by the caller. It’s of interest because each such call is going to require a round trip to the X server, and on a connection like mine, will add 30ms of delay that cannot be removed without eliminating some of the synchronous Xlib calls — e.g., fewer font queries or whatever. Of course they can’t all be removed, but if some are pointless or redundant we may be able to reduce the time spent waiting.

Is there something new in what you discovered, given the fact that a
tooltip is just a special kind of frame, and so everything that you
reported which causes slow creation of a new frame pertains also to
tooltips?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 14 Sep 2015 08:21:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 14 04:21:38 2015
Received: from localhost ([127.0.0.1]:59531 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ZbP15-0006Dv-Hr
	for submit <at> debbugs.gnu.org; Mon, 14 Sep 2015 04:21:38 -0400
Received: from eggs.gnu.org ([208.118.235.92]:49546)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <raeburn@HIDDEN>) id 1ZbP11-0006Dm-Ar
 for submit <at> debbugs.gnu.org; Mon, 14 Sep 2015 04:21:34 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1ZbP0t-0002rj-Ed
 for submit <at> debbugs.gnu.org; Mon, 14 Sep 2015 04:21:31 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID
 autolearn=disabled version=3.3.2
Received: from lists.gnu.org ([208.118.235.17]:52995)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1ZbP0t-0002pm-AJ
 for submit <at> debbugs.gnu.org; Mon, 14 Sep 2015 04:21:23 -0400
Received: from eggs.gnu.org ([2001:4830:134:3::10]:58108)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1ZbOte-0007YR-CB
 for bug-gnu-emacs@HIDDEN; Mon, 14 Sep 2015 04:13:58 -0400
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1ZbOtZ-0008SX-9C
 for bug-gnu-emacs@HIDDEN; Mon, 14 Sep 2015 04:13:54 -0400
Received: from mail-qg0-x22e.google.com ([2607:f8b0:400d:c04::22e]:36301)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <raeburn@HIDDEN>) id 1ZbOtY-0008SH-6x
 for bug-gnu-emacs@HIDDEN; Mon, 14 Sep 2015 04:13:49 -0400
Received: by qgx61 with SMTP id 61so108791692qgx.3
 for <bug-gnu-emacs@HIDDEN>; Mon, 14 Sep 2015 01:13:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=permabit.com; s=google;
 h=from:content-type:content-transfer-encoding:date:subject:to
 :message-id:mime-version;
 bh=bb2Q092t//dbme8aaTkE29LeX4m3QEzuGyYg7CIBviI=;
 b=HV+TIhAKlRB4qRplFnwMAdFu+OY0qyBfCuW6Fn6uvgXcu9eu2tONGwrdN9cONat7bU
 JlPrWrFvKBoFbe8P7//bUSMBmS9mBOwqFBUEDaduHLj/iP7yu0nEpk31Z83l+YGUswPF
 j75dLCHrHmOW5lkjqcHEG2qYZvjJIzGuRS9y8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:from:content-type:content-transfer-encoding:date
 :subject:to:message-id:mime-version;
 bh=bb2Q092t//dbme8aaTkE29LeX4m3QEzuGyYg7CIBviI=;
 b=S63wwzGgnrRVE6YQ6sFv5As9vpfnWXWxZUDTOI1Jy94XrV/uFGgrwCuY+ODy6WlXmw
 lEcsfMWkyqj1eW0YmTXW/fkWrlf74pNpMCDsjPo6OuV+tKULII7dG2LJuvm1GRE78Q6h
 1Qnq+J2qolG9usZ11t2Q62Kh+nefObNn7wGv9uLlP4WWrB0DzgPiW4KfUDqKC1VN8RV2
 6WsEp7FZC4uC5Uk9bikCCjbkb5l7cNaCvuiLotHHcl4L1Pm/5dPGCx0VFTy1YqPtFi0B
 oSoI3p4xJX/hQazh69X4b1QgLD2BRMUfcfEHD8F7KCptDmYyttiwVVJY9Aiwk3UedWB7
 GxYg==
X-Gm-Message-State: ALoCoQlJxkNgjfej9IuUqO+LVqIvAmLnXjoJFgv52UB2Tk+4KdpUstKSFctrHxK0EHDfRH4bULDL
X-Received: by 10.140.202.204 with SMTP id x195mr20132781qha.7.1442218425440; 
 Mon, 14 Sep 2015 01:13:45 -0700 (PDT)
Received: from [192.168.17.111] (c-66-31-203-101.hsd1.ma.comcast.net.
 [66.31.203.101])
 by smtp.gmail.com with ESMTPSA id 70sm5405623qhd.40.2015.09.14.01.13.44
 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
 Mon, 14 Sep 2015 01:13:44 -0700 (PDT)
From: Ken Raeburn <raeburn@HIDDEN>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Date: Mon, 14 Sep 2015 04:13:41 -0400
Subject: 24.5; very slow tooltip display to sort-of-slow remote display
To: Bug-Gnu-Emacs <bug-gnu-emacs@HIDDEN>
Message-Id: <9F31D581-6B5A-42B7-8031-6920089AFFF4@HIDDEN>
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
X-Mailer: Apple Mail (2.2104)
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x
X-Received-From: 208.118.235.17
X-Spam-Score: -5.0 (-----)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -5.0 (-----)

(=E2=80=9Cspun off=E2=80=9D from discussion in bug #11822 that was =
wandering off topic)

I=E2=80=99ve noticed that when I=E2=80=99m using a =E2=80=9Cslow=E2=80=9D =
network link =E2=80=94 high bandwidth but a round-trip time of 30-40 =
milliseconds (remember when that was fast?) =E2=80=94 the tooltip window =
that pops up when I move the mouse, say, over the buffer name in the =
mode line, takes much longer to come up than when I=E2=80=99m running =
Emacs on a local display. And if I keep moving the mouse around, I=E2=80=99=
m likely to get the tooltip for the buffer-name part of the mode line, =
but displayed somewhere else entirely, depending where the mouse has =
moved to.

Based on some earlier investigations, I used gdb to look at calls to =
_XReply in the Xlib library; this is the routine that flushes the =
outgoing buffer to the X server and then waits for a response, which =
contains color info or font info or whatever else is wanted by the =
caller. It=E2=80=99s of interest because each such call is going to =
require a round trip to the X server, and on a connection like mine, =
will add 30ms of delay that cannot be removed without eliminating some =
of the synchronous Xlib calls =E2=80=94 e.g., fewer font queries or =
whatever. Of course they can=E2=80=99t all be removed, but if some are =
pointless or redundant we may be able to reduce the time spent waiting.

I ran such a test (=E2=80=9Cemacs -Q=E2=80=9D, moving mouse over the =
buffer name; emacs 24.5, X11, lucid toolkit) over a fast connection just =
to sort out what calls are being made and from where. I found 160 calls =
to _XReply. Whatever else Emacs is doing to display a tooltip window, on =
a connection with a 30ms RTT, that=E2=80=99ll account for almost 4.8 =
seconds of delay. (=E2=80=9CAlmost", because I think a few of those 160 =
calls are after the tooltip window was up, and I moved the mouse away.) =
And, indeed, when I do the test without gdb but over the slower =
connection, by eyeball I=E2=80=99d say it took about 5 seconds for the =
tooltip window to pop up (including the normal tooltip delay), and the =
text didn=E2=80=99t all fill in immediately.

In all, there were about 50 calls to XParseColor, slightly more to =
XAllocColor, 31 to XSync (used in error handling), and a handful of =
assorted other synchronous calls.

The first thing that should=E2=80=99ve occurred to me is that the =
tooltip window is treated like a frame; realize_basic_faces is called to =
realize 15 faces, the default plus 14 named ones, each with foreground =
and background colors, and each color needs XParseColor and XAllocColor =
both to make round trips to the X server. Emacs looks up the color =
=E2=80=9Clightyellow=E2=80=9D for the background of the default face, =
and for the background of the mode-line face, and for the background of =
the mode-line-inactive face, etc., and =E2=80=9Cblack=E2=80=9D for =
foreground as well. So there are 60 round trips (1.8s) right there.

Some of the other synchronous calls can be attributed to these =
operations:

12 x_create_tip_frame calls x_decode_color("black") 6 times =
(XParseColor+XAllocColor) to initialize the foreground etc colors, just =
to keep ref count management simpler
11 via various paths from x_set_mouse_color
10 via various paths from realize_face from lookup_face from =
face_at_string_position from note_mode_line_or_margin_highlight from =
note_mouse_highlight from note_mouse_movement
8 via various paths from realize_face from lookup_face from =
face_at_buffer_position from handle_face_prop from handle_stop from =
start_display from try_window from Fx_show_tip
8 via various paths from Fdisplay_supports_face_attributes_p realizing a =
face
6 via x_set_{foreground,background,border}_color when x_create_tip_frame =
sets defaults
4 via x_set_cursor_color when x_create_tip_frame sets defaults
4 via x_set_cursor_color when face-set-after-frame-default updates =
parameters
16 via various paths from x_real_positions handling events during =
x_write_glyphs
12 via xfont_list_pattern called eventually from =
x_default_font_parameter twice and face_at_string_position once

xfont_list_pattern, x_set_mouse_color, and x_real_position catch X =
errors using x_catch_errors and friends, which keep invoking XSync and =
then looking to see if any errors have been reported. In =
x_set_mouse_color, at least, we might be able to use smarter X error =
handling to match request serial numbers against errors and only sync =
once at the end, or something like that.

But given that 2/3 of the round trips are for XParseColor and =
XAllocColor, I think they=E2=80=99re the place to start. I threw in a =
couple of simple caches (mapping name=3D>RGB and RGB=3D>pixel) and =
wrapped the XParseColor call in x_defined_color and the =
x_alloc_nearest_color_1 call in x_alloc_nearest_color with code to use =
them; made x_copy_color an identity operation; and disabled freeing of =
colors (my caches are really simple and don=E2=80=99t include reference =
counts). That proof-of-concept version seems to have shaved a couple of =
seconds off the time to pop up the tooltip, but it still takes around =
three seconds, and the text still doesn=E2=80=99t fill in quickly.

I=E2=80=99m including below a summary of the stack traces I got from =
another run (list of function names and number of times that call stack =
was seen), using the sources from git as of September 9. The counts are =
a little different from the previous run (total 176 round trips) but it =
looks largely similar. Another test with those caches added in used only =
72 round trips, of which 41 were XSync calls, and all but one of those =
were about error checking; of the other 31, the most frequent call was =
XQueryColors, which probably also could=E2=80=99ve been satisfied from =
the caches.

Ken

     28 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
defined_color =C2=AB load_color2 =C2=AB load_face_colors =C2=AB =
realize_x_face =C2=AB realize_face =C2=AB realize_named_face =C2=AB =
realize_basic_faces =C2=AB init_frame_faces =C2=AB x_create_tip_frame =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall
     28 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB defined_color =C2=AB load_color2 =C2=AB =
load_face_colors =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
realize_named_face =C2=AB realize_basic_faces =C2=AB init_frame_faces =C2=AB=
 x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda
      6 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
x_decode_color =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending =C2=AB detect_input_pending_run_timers =C2=AB =
wait_reading_process_output
      6 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB x_decode_color =C2=AB x_create_tip_frame =C2=AB =
Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending =C2=AB detect_input_pending_run_timers
      5 _XReply =C2=AB XSync =C2=AB x_check_errors =C2=AB =
x_set_mouse_color =C2=AB x_set_frame_parameters =C2=AB =
x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending
      4 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB =
x_real_pos_and_offsets =C2=AB x_real_positions =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      2 _XReply =C2=AB XTranslateCoordinates =C2=AB =
x_real_pos_and_offsets =C2=AB x_real_positions =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB=
 exec_byte_code
      2 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
x_real_pos_and_offsets =C2=AB x_real_positions =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB font_open_by_spec =
=C2=AB font_open_by_name =C2=AB x_default_font_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
get_current_wm_state =C2=AB x_net_wm_state =C2=AB handle_one_xevent =C2=AB=
 XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB x_wm_supports =
=C2=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB =
handle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB =
handle_async_input =C2=AB process_pending_signals =C2=AB x_write_glyphs =
=C2=AB update_text_area =C2=AB update_window_line =C2=AB update_window =
=C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply
      2 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB font_open_by_spec =
=C2=AB font_open_by_name =C2=AB x_default_font_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB =
x_real_pos_and_offsets =C2=AB x_real_positions =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB font_open_by_spec =
=C2=AB font_open_by_name =C2=AB x_default_font_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall
      2 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB =
get_current_wm_state =C2=AB x_net_wm_state =C2=AB handle_one_xevent =C2=AB=
 XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      2 _XReply =C2=AB XQueryTree =C2=AB x_real_pos_and_offsets =C2=AB =
x_real_positions =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 x_write_glyphs =C2=AB update_text_area =C2=AB update_window_line =C2=AB =
update_window =C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code
      2 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
defined_color =C2=AB load_color2 =C2=AB load_face_colors =C2=AB =
realize_x_face =C2=AB realize_face =C2=AB realize_default_face =C2=AB =
realize_basic_faces =C2=AB init_frame_faces =C2=AB x_create_tip_frame =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall
      2 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
defined_color =C2=AB load_color2 =C2=AB load_face_colors =C2=AB =
realize_x_face =C2=AB realize_face =C2=AB lookup_face =C2=AB =
x_supports_face_attributes_p =C2=AB Fdisplay_supports_face_attributes_p =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda
      2 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
defined_color =C2=AB load_color2 =C2=AB load_face_colors =C2=AB =
realize_x_face =C2=AB realize_face =C2=AB lookup_face =C2=AB =
face_at_string_position =C2=AB note_mode_line_or_margin_highlight =C2=AB =
note_mouse_highlight =C2=AB note_mouse_movement =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB xg_select =C2=AB =
wait_reading_process_output =C2=AB kbd_buffer_get_event =C2=AB =
read_event_from_main_queue =C2=AB read_decoded_event_from_main_queue =C2=AB=
 read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB =
internal_condition_case =C2=AB command_loop_2 =C2=AB internal_catch =C2=AB=
 command_loop
      2 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
defined_color =C2=AB load_color2 =C2=AB load_face_colors =C2=AB =
realize_x_face =C2=AB realize_face =C2=AB lookup_face =C2=AB =
face_at_buffer_position =C2=AB handle_face_prop =C2=AB handle_stop =C2=AB =
start_display =C2=AB try_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code
      2 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
defined_color =C2=AB load_color2 =C2=AB load_face_colors =C2=AB =
realize_x_face =C2=AB realize_face =C2=AB Finternal_merge_in_global_face =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB call2 =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      2 _XReply =C2=AB XListFonts =C2=AB xfont_list_pattern =C2=AB =
xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =C2=AB =
font_load_for_lface =C2=AB font_open_by_spec =C2=AB font_open_by_name =C2=AB=
 x_default_font_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1
      2 _XReply =C2=AB XGetWindowProperty =C2=AB x_real_pos_and_offsets =
=C2=AB x_real_positions =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB=
 gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =
=C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB update_window_line =
=C2=AB update_window =C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB=
 Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code
      2 _XReply =C2=AB XGetWindowProperty =C2=AB get_current_wm_state =C2=AB=
 x_net_wm_state =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 x_write_glyphs =C2=AB update_text_area =C2=AB update_window_line =C2=AB =
update_window =C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code
      2 _XReply =C2=AB XGetGeometry =C2=AB x_real_pos_and_offsets =C2=AB =
x_real_positions =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 x_write_glyphs =C2=AB update_text_area =C2=AB update_window_line =C2=AB =
update_window =C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code
      2 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB defined_color =C2=AB load_color2 =C2=AB =
load_face_colors =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
realize_default_face =C2=AB realize_basic_faces =C2=AB init_frame_faces =
=C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda
      2 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB defined_color =C2=AB load_color2 =C2=AB =
load_face_colors =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
lookup_face =C2=AB x_supports_face_attributes_p =C2=AB =
Fdisplay_supports_face_attributes_p =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code
      2 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB defined_color =C2=AB load_color2 =C2=AB =
load_face_colors =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
lookup_face =C2=AB face_at_string_position =C2=AB =
note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch
      2 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB defined_color =C2=AB load_color2 =C2=AB =
load_face_colors =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
lookup_face =C2=AB face_at_buffer_position =C2=AB handle_face_prop =C2=AB =
handle_stop =C2=AB start_display =C2=AB try_window =C2=AB Fx_show_tip =C2=AB=
 Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      2 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB defined_color =C2=AB load_color2 =C2=AB =
load_face_colors =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
Finternal_merge_in_global_face =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB=
 funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB x_create_tip_frame =
=C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
Fapply
      2 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_alloc_lighter_color =C2=AB x_setup_relief_color =C2=AB =
x_setup_relief_colors =C2=AB x_draw_glyph_string_box =C2=AB =
x_draw_glyph_string =C2=AB draw_glyphs =C2=AB draw_row_with_mouse_face =
=C2=AB show_mouse_face =C2=AB note_mode_line_or_margin_highlight =C2=AB =
note_mouse_highlight =C2=AB note_mouse_movement =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB xg_select =C2=AB =
wait_reading_process_output =C2=AB kbd_buffer_get_event =C2=AB =
read_event_from_main_queue =C2=AB read_decoded_event_from_main_queue =C2=AB=
 read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB =
internal_condition_case =C2=AB command_loop_2 =C2=AB internal_catch
      2 _XReply =C2=AB 0x00007ffff62c9df0 =C2=AB XQueryColors =C2=AB =
x_query_colors =C2=AB x_query_color =C2=AB x_set_mouse_color =C2=AB =
x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check
      2 _XReply =C2=AB 0x00007ffff62c9df0 =C2=AB XQueryColors =C2=AB =
x_query_colors =C2=AB x_query_color =C2=AB x_alloc_lighter_color =C2=AB =
x_setup_relief_color =C2=AB x_setup_relief_colors =C2=AB =
x_draw_glyph_string_box =C2=AB x_draw_glyph_string =C2=AB draw_glyphs =C2=AB=
 draw_row_with_mouse_face =C2=AB show_mouse_face =C2=AB =
note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case
      2 _XReply =C2=AB 0x00007ffff62c9df0 =C2=AB XQueryColors =C2=AB =
xftfont_get_colors =C2=AB xftfont_prepare_face =C2=AB =
prepare_face_for_display =C2=AB get_glyph_face_and_encoding =C2=AB =
fill_glyph_string =C2=AB draw_glyphs =C2=AB x_write_glyphs =C2=AB =
update_text_area =C2=AB update_window_line =C2=AB update_window =C2=AB =
update_single_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
x_wm_supports =C2=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB =
handle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB =
handle_async_input =C2=AB process_pending_signals =C2=AB x_write_glyphs =
=C2=AB update_text_area =C2=AB update_window_line =C2=AB update_window =
=C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
x_set_mouse_color =C2=AB x_set_frame_parameters =C2=AB =
x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB x_supports_face_attributes_p =C2=AB=
 Fdisplay_supports_face_attributes_p =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB face_at_string_position =C2=AB =
note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB face_at_buffer_position =C2=AB =
handle_face_prop =C2=AB handle_stop =C2=AB start_display =C2=AB =
try_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB=
 funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
Fapply
      1 _XReply =C2=AB XSync =C2=AB x_uncatch_errors =C2=AB =
get_current_wm_state =C2=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =
=C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB =
handle_async_input =C2=AB process_pending_signals =C2=AB x_write_glyphs =
=C2=AB update_text_area =C2=AB update_window_line =C2=AB update_window =
=C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply
      1 _XReply =C2=AB XSync =C2=AB x_sync =C2=AB x_wm_supports =C2=AB =
do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xevent =C2=AB=
 XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply
      1 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB x_supports_face_attributes_p =C2=AB=
 Fdisplay_supports_face_attributes_p =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall
      1 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB face_at_string_position =C2=AB =
note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2
      1 _XReply =C2=AB XSync =C2=AB x_had_errors_p =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB face_at_buffer_position =C2=AB =
handle_face_prop =C2=AB handle_stop =C2=AB start_display =C2=AB =
try_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB=
 funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
Fapply
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB x_wm_supports =
=C2=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB =
handle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB =
handle_async_input =C2=AB process_pending_signals =C2=AB x_write_glyphs =
=C2=AB update_text_area =C2=AB update_window_line =C2=AB update_window =
=C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB =
x_set_mouse_color =C2=AB x_set_frame_parameters =C2=AB =
x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB x_supports_face_attributes_p =C2=AB=
 Fdisplay_supports_face_attributes_p =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB face_at_string_position =C2=AB =
note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB =
xfont_list_pattern =C2=AB xfont_list =C2=AB font_list_entities =C2=AB =
font_find_for_lface =C2=AB font_load_for_lface =C2=AB realize_x_face =C2=AB=
 realize_face =C2=AB lookup_face =C2=AB face_at_buffer_position =C2=AB =
handle_face_prop =C2=AB handle_stop =C2=AB start_display =C2=AB =
try_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB=
 funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =
=C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
Fapply
      1 _XReply =C2=AB XSync =C2=AB x_catch_errors =C2=AB =
get_current_wm_state =C2=AB do_ewmh_fullscreen =C2=AB x_check_fullscreen =
=C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB =
handle_async_input =C2=AB process_pending_signals =C2=AB x_write_glyphs =
=C2=AB update_text_area =C2=AB update_window_line =C2=AB update_window =
=C2=AB update_single_window =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply
      1 _XReply =C2=AB XQueryPointer =C2=AB compute_tip_xy =C2=AB =
Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending =C2=AB detect_input_pending_run_timers =C2=AB =
wait_reading_process_output =C2=AB sit_for =C2=AB read_char
      1 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
x_decode_color =C2=AB x_set_mouse_color =C2=AB x_set_frame_parameters =C2=AB=
 x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events
      1 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
x_decode_color =C2=AB x_set_foreground_color =C2=AB =
x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events
      1 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
x_decode_color =C2=AB x_set_cursor_color =C2=AB x_set_frame_parameters =
=C2=AB x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events
      1 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
x_decode_color =C2=AB x_set_cursor_color =C2=AB x_set_frame_parameters =
=C2=AB Fmodify_frame_parameters =C2=AB Finternal_set_lisp_face_attribute =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB x_create_tip_frame =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall
      1 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
x_decode_color =C2=AB x_set_border_color =C2=AB x_set_frame_parameters =
=C2=AB x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events
      1 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
x_decode_color =C2=AB x_set_background_color =C2=AB =
x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events
      1 _XReply =C2=AB XParseColor =C2=AB x_defined_color =C2=AB =
defined_color =C2=AB load_color2 =C2=AB load_color =C2=AB realize_x_face =
=C2=AB realize_face =C2=AB lookup_face =C2=AB face_at_string_position =C2=AB=
 note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop
      1 _XReply =C2=AB XListFonts =C2=AB xfont_list_pattern =C2=AB =
xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =C2=AB =
font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
lookup_face =C2=AB x_supports_face_attributes_p =C2=AB =
Fdisplay_supports_face_attributes_p =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code
      1 _XReply =C2=AB XListFonts =C2=AB xfont_list_pattern =C2=AB =
xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =C2=AB =
font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
lookup_face =C2=AB face_at_string_position =C2=AB =
note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch
      1 _XReply =C2=AB XListFonts =C2=AB xfont_list_pattern =C2=AB =
xfont_list =C2=AB font_list_entities =C2=AB font_find_for_lface =C2=AB =
font_load_for_lface =C2=AB realize_x_face =C2=AB realize_face =C2=AB =
lookup_face =C2=AB face_at_buffer_position =C2=AB handle_face_prop =C2=AB =
handle_stop =C2=AB start_display =C2=AB try_window =C2=AB Fx_show_tip =C2=AB=
 Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      1 _XReply =C2=AB XGetWindowProperty =C2=AB x_wm_supports =C2=AB =
do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xevent =C2=AB=
 XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      1 _XReply =C2=AB XGetWindowProperty =C2=AB get_current_wm_state =C2=AB=
 do_ewmh_fullscreen =C2=AB x_check_fullscreen =C2=AB handle_one_xevent =
=C2=AB XTread_socket =C2=AB gobble_input =C2=AB handle_async_input =C2=AB =
process_pending_signals =C2=AB x_write_glyphs =C2=AB update_text_area =C2=AB=
 update_window_line =C2=AB update_window =C2=AB update_single_window =C2=AB=
 Fx_show_tip =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB =
Ffuncall =C2=AB run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall
      1 _XReply =C2=AB XGetSelectionOwner =C2=AB Fx_selection_exists_p =
=C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB Ffuncall =C2=AB Fapply =C2=AB=
 Ffuncall =C2=AB exec_byte_code =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB=
 funcall_lambda =C2=AB Ffuncall =C2=AB eval_sub =C2=AB Feval =C2=AB =
internal_condition_case_1 =C2=AB menu_item_eval_property =C2=AB =
parse_tool_bar_item =C2=AB process_tool_bar_item =C2=AB map_keymap_item =
=C2=AB map_keymap_internal =C2=AB map_keymap =C2=AB tool_bar_items =C2=AB =
update_tool_bar =C2=AB prepare_menu_bars =C2=AB redisplay_internal =C2=AB =
redisplay_preserve_echo_area =C2=AB detect_input_pending_run_timers =C2=AB=
 wait_reading_process_output =C2=AB sit_for
      1 _XReply =C2=AB XAllocColor =C2=AB x_copy_color =C2=AB =
x_set_cursor_color =C2=AB x_set_frame_parameters =C2=AB =
x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check =C2=AB readable_events =C2=AB =
get_input_pending
      1 _XReply =C2=AB XAllocColor =C2=AB x_copy_color =C2=AB =
x_set_cursor_color =C2=AB x_set_frame_parameters =C2=AB =
Fmodify_frame_parameters =C2=AB Finternal_set_lisp_face_attribute =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB=
 Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code
      1 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB x_decode_color =C2=AB x_set_mouse_color =C2=AB =
x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check
      1 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB x_decode_color =C2=AB x_set_foreground_color =C2=AB=
 x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check
      1 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB x_decode_color =C2=AB x_set_cursor_color =C2=AB =
x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check
      1 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB x_decode_color =C2=AB x_set_cursor_color =C2=AB =
x_set_frame_parameters =C2=AB Fmodify_frame_parameters =C2=AB =
Finternal_set_lisp_face_attribute =C2=AB Ffuncall =C2=AB exec_byte_code =
=C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda
      1 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB x_decode_color =C2=AB x_set_border_color =C2=AB =
x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check
      1 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB x_decode_color =C2=AB x_set_background_color =C2=AB=
 x_set_frame_parameters =C2=AB x_default_parameter =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2 =C2=AB timer_check
      1 _XReply =C2=AB XAllocColor =C2=AB x_alloc_nearest_color_1 =C2=AB =
x_defined_color =C2=AB defined_color =C2=AB load_color2 =C2=AB =
load_color =C2=AB realize_x_face =C2=AB realize_face =C2=AB lookup_face =
=C2=AB face_at_string_position =C2=AB note_mode_line_or_margin_highlight =
=C2=AB note_mouse_highlight =C2=AB note_mouse_movement =C2=AB =
handle_one_xevent =C2=AB XTread_socket =C2=AB gobble_input =C2=AB =
handle_async_input =C2=AB process_pending_signals =C2=AB xg_select =C2=AB =
wait_reading_process_output =C2=AB kbd_buffer_get_event =C2=AB =
read_event_from_main_queue =C2=AB read_decoded_event_from_main_queue =C2=AB=
 read_char =C2=AB read_key_sequence =C2=AB command_loop_1 =C2=AB =
internal_condition_case =C2=AB command_loop_2 =C2=AB internal_catch
      1 _XReply =C2=AB 0x00007ffff62c9df0 =C2=AB XQueryColors =C2=AB =
x_query_colors =C2=AB x_query_color =C2=AB x_copy_color =C2=AB =
x_set_cursor_color =C2=AB x_set_frame_parameters =C2=AB =
x_default_parameter =C2=AB x_create_tip_frame =C2=AB Fx_show_tip =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB =
run_hook_with_args =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB =
funcall_lambda =C2=AB Ffuncall =C2=AB Fapply =C2=AB Ffuncall =C2=AB =
exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call1 =C2=AB =
timer_check_2
      1 _XReply =C2=AB 0x00007ffff62c9df0 =C2=AB XQueryColors =C2=AB =
x_query_colors =C2=AB x_query_color =C2=AB x_copy_color =C2=AB =
x_set_cursor_color =C2=AB x_set_frame_parameters =C2=AB =
Fmodify_frame_parameters =C2=AB Finternal_set_lisp_face_attribute =C2=AB =
Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 Fapply =C2=AB Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB=
 Ffuncall =C2=AB exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB=
 exec_byte_code =C2=AB funcall_lambda =C2=AB Ffuncall =C2=AB call2 =C2=AB =
x_create_tip_frame =C2=AB Fx_show_tip =C2=AB Ffuncall =C2=AB =
exec_byte_code
      1 _XReply =C2=AB 0x00007ffff62c9df0 =C2=AB XQueryColors =C2=AB =
xftfont_get_colors =C2=AB xftfont_prepare_face =C2=AB =
prepare_face_for_display =C2=AB x_set_mouse_face_gc =C2=AB =
x_set_glyph_string_gc =C2=AB x_draw_glyph_string =C2=AB draw_glyphs =C2=AB=
 draw_row_with_mouse_face =C2=AB show_mouse_face =C2=AB =
note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2
      1 _XReply =C2=AB 0x00007ffff62c9df0 =C2=AB XQueryColors =C2=AB =
xftfont_get_colors =C2=AB xftfont_draw =C2=AB =
x_draw_glyph_string_foreground =C2=AB x_draw_glyph_string =C2=AB =
draw_glyphs =C2=AB draw_row_with_mouse_face =C2=AB show_mouse_face =C2=AB =
note_mode_line_or_margin_highlight =C2=AB note_mouse_highlight =C2=AB =
note_mouse_movement =C2=AB handle_one_xevent =C2=AB XTread_socket =C2=AB =
gobble_input =C2=AB handle_async_input =C2=AB process_pending_signals =C2=AB=
 xg_select =C2=AB wait_reading_process_output =C2=AB =
kbd_buffer_get_event =C2=AB read_event_from_main_queue =C2=AB =
read_decoded_event_from_main_queue =C2=AB read_char =C2=AB =
read_key_sequence =C2=AB command_loop_1 =C2=AB internal_condition_case =
=C2=AB command_loop_2 =C2=AB internal_catch =C2=AB command_loop





Acknowledgement sent to Ken Raeburn <raeburn@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#21473; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.