From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#38038: 27.0.50; Emacs freezes opening tabs. Date: Sat, 9 Nov 2019 10:02:36 +0100 Message-ID: References: <20191102214135.lehpefr5o4cji6ca.ref@Ergus> <20191102214135.lehpefr5o4cji6ca@Ergus> <87pni9yl75.fsf@mail.linkov.net> <83h83fg50h.fsf@gnu.org> <8736ezmhj2.fsf@mail.linkov.net> <5455d765-4954-6bc0-1961-619f6e865f59@gmx.at> <20191108230837.7nlfzo44pu7c5x2o@Ergus> <257306d0-bf1a-2a5f-b98c-8e6ddcf44ea9@gmx.at> <83ftixa1xe.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="80181"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 38038@debbugs.gnu.org, spacibba@aol.com, juri@linkov.net To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Nov 09 10:05:25 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iTMgP-000Ke4-2T for geb-bug-gnu-emacs@m.gmane.org; Sat, 09 Nov 2019 10:05:25 +0100 Original-Received: from localhost ([::1]:35416 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iTMgN-0004we-B5 for geb-bug-gnu-emacs@m.gmane.org; Sat, 09 Nov 2019 04:05:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41349) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iTMe7-0004TW-BN for bug-gnu-emacs@gnu.org; Sat, 09 Nov 2019 04:03:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iTMe6-0005gu-98 for bug-gnu-emacs@gnu.org; Sat, 09 Nov 2019 04:03:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:39334) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iTMe6-0005gq-5z for bug-gnu-emacs@gnu.org; Sat, 09 Nov 2019 04:03:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iTMe6-0006e4-1u for bug-gnu-emacs@gnu.org; Sat, 09 Nov 2019 04:03:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 09 Nov 2019 09:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38038 X-GNU-PR-Package: emacs Original-Received: via spool by 38038-submit@debbugs.gnu.org id=B38038.157329017625533 (code B ref 38038); Sat, 09 Nov 2019 09:03:02 +0000 Original-Received: (at 38038) by debbugs.gnu.org; 9 Nov 2019 09:02:56 +0000 Original-Received: from localhost ([127.0.0.1]:48155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTMdz-0006dl-UU for submit@debbugs.gnu.org; Sat, 09 Nov 2019 04:02:56 -0500 Original-Received: from mout.gmx.net ([212.227.17.22]:52041) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTMdx-0006dV-GJ for 38038@debbugs.gnu.org; Sat, 09 Nov 2019 04:02:53 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573290157; bh=NTUx3vBHtRhgGd3Nni/DEvxyx5SyWvb+gA6fMOKN+A0=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=lDwqTtEfVH+SeoqeCnodBifEJL1Mx7hH5xcXMiq5VJn6Rp5ZPnxaBgEI+sd/76jY4 F9chIA1Y0KzGgFome691dyv6hbamPuqD0jKYLkymO3jVdQDVZgqR/qfO8lzSrS/tk2 DcG56xjFGkaBuEtbvzu3Kdp3t0mxA6zuhma1uvd0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [192.168.1.102] ([46.125.249.42]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MuUnK-1hbx0Q30Fu-00rWss; Sat, 09 Nov 2019 10:02:36 +0100 In-Reply-To: <83ftixa1xe.fsf@gnu.org> Content-Language: de-AT X-Provags-ID: V03:K1:X3/XXsS2jlQgf3Omk+ab4+IB9VEdYO484mMeOn4N6y7A+MjC1ES AAu5RN72wMlLYu6eT6Q+dszPE/e7ZKosh+tUJPNQcr4r4W3WYiHKtcnsxjsG4Q1gqSaXXRp j0jvqHfNqQk6fvsZQDzulX2tQFCotEqm3RvQSiagJZtFQVOzJSvALUsFoWXlRyDYz2j+CtY CuNDJcqNUQyPM9t9JEF6g== X-UI-Out-Filterresults: notjunk:1;V03:K0:bwpP0lvwtSU=:OZlwe3Txnhafcoc7M7d4BM quOlUTdnbnXU6sysBGrbIGOsorCbRTaff68tfO/n3ar6/AAPYsk6S1P0/BTMuj0ItHHLwMlzj 1ANkhqN/W1hk8q1cDgPbShR2hD5KA0l0VYHdpS244XZJ3taXb7aeK3UTh3MjMGuVx3CE1/+po KzS2GeWB4SYDytHE/Z7Az2qEcRA6akqmGamOmHfCWGE5zQ2quy33X34zZIJaw0Eg+a6ErpuD3 /DUCZL5dKZPdkCQeEd8KL0EFaZknfvF6jbKyeABuVSLd1R7i7BzKqMKxjMKia0pZRe3+HieHu lfTlxdlQr3M7dHLq99D3JVhMjsXgxHindPp7Pou+sG6nE+3Bux/ciaIG1EnqlN275/ZacKrMY UL6tQEazJU0729aEEHXYSLQ/Wodu2AsJeEsqhCcAq9iCIk5JIf4WbbB09FpZShsqi/o1coFcB 341VjQKdMCJDq0tVhoi77zl4cJinEAxtpfhK9hLSCpoDPwye3adhIDSDUsWjpbvqjFImiLUr8 56deBRDNRWAkz15NiEC21Db+Q2+KjdcAoj5XZWRONpJO9E8ynnB4tEEzVI6fwNMszsHnk5Fdq fUI72LaJ0fTbhrIEyelxUESZNk8UwnMCJfHDyYJ2uTBE7AAvFobN7fPPzkZXSai73cIIMRy2f AzRdXXRpd3kuu8tjPelm/DlIZpSJtI91rouJKABL4ytihta39Mi0Yk1o/YVE0RUhBgvX2OMAa zTzK3RJggveL8ipn9K/Ie81qbVa0jRp+LDC/vsvcRUPCStqz2VQI6GRNWdoFgeX08mCXcN/r X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:171309 Archived-At: > And the error says that the window has no buffer, is that right? I think so but didn't look. Is it a good idea to signal that error here in the first place? >> where frame #3 indicates that we probably should avoid asking for a buffer >> local value in a pseudo window. Right? > > Yes. Does adding that fix the problem, including the original one > with the tab bar? The below makes the bug go away for the tool bar, I didn't try for the tab bar. diff --git a/src/w32term.c b/src/w32term.c index 9da0845836..68ae9be8e7 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -2512,20 +2512,23 @@ w32_draw_glyph_string (struct glyph_string *s) unsigned long minimum_offset; BOOL underline_at_descent_line; BOOL use_underline_position_properties; - Lisp_Object val - = buffer_local_value (Qunderline_minimum_offset, - s->w->contents); + Lisp_Object val; + + if (BUFFERP (s->w->contents)) + val = buffer_local_value (Qunderline_minimum_offset, + s->w->contents); if (FIXNUMP (val)) minimum_offset = max (0, XFIXNUM (val)); else minimum_offset = 1; - val = buffer_local_value (Qx_underline_at_descent_line, - s->w->contents); + if (BUFFERP (s->w->contents)) + val = buffer_local_value (Qx_underline_at_descent_line, + s->w->contents); underline_at_descent_line = !(NILP (val) || EQ (val, Qunbound)); - val - = buffer_local_value (Qx_use_underline_position_properties, - s->w->contents); + if (BUFFERP (s->w->contents)) + val = buffer_local_value (Qx_use_underline_position_properties, + s->w->contents); use_underline_position_properties = !(NILP (val) || EQ (val, Qunbound)); The bug was apparently introduced by commit bbf53d99b57bd3d7fc0427d378df2efc6fa10e00 Author: Aaron Jensen Date: Sat Mar 10 13:14:28 2018 +0200 Allow underline position variables be buffer-local * src/nsterm.m (ns_draw_text_decoration): * src/w32term.c (x_draw_glyph_string): * src/xterm.c (x_draw_glyph_string): Allow underline-minimum-offset, underline-at-descent-line, and x-use-underline-position-properties be buffer local variables. (Bug#30553) * src/xdisp.c (syms_of_xdisp) : Add DEFSYM. and probably manifests itself, as noted earlier, in all pseudo windows that try to draw an underlined glyph string. I can continue working on this after we decided whether to ask for pseudo-windowness or just use the BUFFERP predicate as I did. martin