From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 16 Apr 2021 22:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 47832@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.1618611765728 (code B ref -1); Fri, 16 Apr 2021 22:23:01 +0000 Received: (at submit) by debbugs.gnu.org; 16 Apr 2021 22:22:45 +0000 Received: from localhost ([127.0.0.1]:41914 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXWrM-0000Bg-NR for submit@debbugs.gnu.org; Fri, 16 Apr 2021 18:22:44 -0400 Received: from lists.gnu.org ([209.51.188.17]:51858) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXWrK-0000BY-PP for submit@debbugs.gnu.org; Fri, 16 Apr 2021 18:22:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57488) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXWrK-00029w-GM for bug-gnu-emacs@gnu.org; Fri, 16 Apr 2021 18:22:42 -0400 Received: from heytings.org ([95.142.160.155]:44784) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lXWrG-0003LM-C6 for bug-gnu-emacs@gnu.org; Fri, 16 Apr 2021 18:22:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1618611755; bh=CY02i+4o9eIOM7403JJHB774Y8AlUAoK3KREpf4LhmA=; h=Date:From:To:Subject:Message-ID:From; b=Bw3ne4WRutVBPF4h7jyjbM95pLR4zIlNkPD/4QND124hFrUkXs6AqEghtzKZ2qDkG shfmric2qL2xN2UEpe0Ousv82GPubzd1GA6U9NIwY5lHfjtGNFA3vwo2gVfrHvcUJH 3qs6Js80YSUD8NEbLtydZkL6YF1oacldPItmjLU44IBvmW+TKOMD23NegMoMcXl7Wo GMFAG124mayAQbflLfujM5dUgP/qtY1BxhjtJgBvcc5Pn6uJQ/EN1hQdUDGe1Xl2lf qI9zvJ2ZMnDzXrSvw1+5SYCWRnIPGB7IColPSNOHWIBbCIgaFobIUqCZo6gxD6iYWi B1xhzfF55Nxkg== Date: Fri, 16 Apr 2021 22:22:35 +0000 From: Gregory Heytings Message-ID: <7dee3f4235cf450a3254@heytings.org> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii Received-SPF: pass client-ip=95.142.160.155; envelope-from=gregory@heytings.org; helo=heytings.org X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) When the init file contains define-fringe-bitmap that override default fringe bitmaps, they are ignored by Emacs when it is started as a daemon. This has stopped working at commit 88efc736f5, when Cairo became the default backend. How to reproduce: 1. create a ~/.emacs file with: (define-fringe-bitmap 'empty-line [ #xff ] nil nil '(top t)) (setq-default indicate-empty-lines t) 2. emacs ~/.emacs => the empty lines fringe bitmaps are displayed correctly, with a solid black column. 3. emacs --daemon 4. emacsclient -c ~/.emacs => the empty line fringe bitmaps are the default ones, which are 4x1 pixel horizontal black lines. When the init file contains define-fringe-bitmap that do _not_ override default fringe bitmaps however, they are not ignored. For example with (define-fringe-bitmap 'solid [ #xff ] nil nil '(top t)) the "solid" fringe bitmap can be used in frames created by emacsclient -c. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 06:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gregory Heytings Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.161864215616831 (code B ref 47832); Sat, 17 Apr 2021 06:50:01 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 06:49:16 +0000 Received: from localhost ([127.0.0.1]:42145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXelY-0004NP-Ba for submit@debbugs.gnu.org; Sat, 17 Apr 2021 02:49:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47700) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXelW-0004N9-Bw for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 02:49:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58335) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXelQ-0000L6-Kz; Sat, 17 Apr 2021 02:49:08 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3696 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lXelQ-0004ms-02; Sat, 17 Apr 2021 02:49:08 -0400 Date: Sat, 17 Apr 2021 09:49:03 +0300 Message-Id: <83mttxwgm8.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <7dee3f4235cf450a3254@heytings.org> (message from Gregory Heytings on Fri, 16 Apr 2021 22:22:35 +0000) References: <7dee3f4235cf450a3254@heytings.org> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Fri, 16 Apr 2021 22:22:35 +0000 > From: Gregory Heytings > > When the init file contains define-fringe-bitmap that override default > fringe bitmaps, they are ignored by Emacs when it is started as a daemon. > This has stopped working at commit 88efc736f5, when Cairo became the > default backend. That commit simply made Cairo being available by default, if found on the system. It didn't change any code. Are you saying that non-Cairo build shows this problem as well, after that commit? Or is the problem limited to Cairo builds on your system? > 1. create a ~/.emacs file with: > > (define-fringe-bitmap 'empty-line [ #xff ] nil nil '(top t)) > (setq-default indicate-empty-lines t) > > 2. emacs ~/.emacs => the empty lines fringe bitmaps are displayed > correctly, with a solid black column. > > 3. emacs --daemon > > 4. emacsclient -c ~/.emacs => the empty line fringe bitmaps are the > default ones, which are 4x1 pixel horizontal black lines. In general, display features that need GUI framework should be turned on from after-make-frame-functions or server-after-make-frame-hook to work reliably in daemon-based sessions. However, if this used to work, it would be good to understand which change broke it. But I doubt that the commit you identified is the culprit: I see the same behavior on MS-Windows, where Cairo and the commit you pointed to have no effect whatsoever. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 09:50:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.16186529911302 (code B ref 47832); Sat, 17 Apr 2021 09:50:01 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 09:49:51 +0000 Received: from localhost ([127.0.0.1]:42318 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXhaI-0000Kv-Ts for submit@debbugs.gnu.org; Sat, 17 Apr 2021 05:49:51 -0400 Received: from heytings.org ([95.142.160.155]:41468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXhaF-0000Kk-Rc for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 05:49:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1618652986; bh=+miRQ7Cjg3t1J0eTsPnUaOiFqSOWlgSGEyLqBUCoeD0=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=EipFU2F8cBTcY1VBLrW1taCRlI7Ij8C2XGWRlSjd0IKF2UeVvBhASvCjmZhWg8Aqr hQM8Mb0mtaDrOiofRoJ5tUYXSox4DbpfSsscgP4O6/i4AYmorbRYX/PVcUXlkqUbzW 2yic/46ScqDPch6d/QP8697OZIQjoZW6JU1Rh35kKPNwSHbYwcjSfUcOJ1x5QqHW6Y KENmNuRSi0oa5wCQO8XHnm+VYqLt3BsnnR3CgR1oOniNXvSQUEpyggEJpjbcvhL/XR MKf4D9gbx5ct8AjbWoBvNUuor91Pj3exU0sz/TLGyeGsxNvlngonhHTnhWWmuB84Ew 2LZYHg+kiFZDQ== Date: Sat, 17 Apr 2021 09:49:46 +0000 From: Gregory Heytings In-Reply-To: <83mttxwgm8.fsf@gnu.org> Message-ID: <1869622e16688e6aedec@heytings.org> References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="wSN0riL65Y" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --wSN0riL65Y Content-Type: text/plain; format=flowed; charset=us-ascii > > However, if this used to work, > This used to work indeed; it worked on GNU/Linux with default (non-Cairo) builds for Emacs 24 to 27. > > it would be good to understand which change broke it. > Got it! :-) The commit I identified is indeed the culprit. With USE_CAIRO, gui_init_fringe() is called in x_initialize(); without USE_CAIRO it isn't. And gui_init_fringe() had a bug, which should now be fixed on Windows, too. Patch attached. --wSN0riL65Y Content-Type: text/x-diff; name=Consider-all-user-defined-bitmaps-in-gui_init_fringe.patch Content-Transfer-Encoding: base64 Content-ID: <1869622e1674b457f9ca@heytings.org> Content-Description: Content-Disposition: attachment; filename=Consider-all-user-defined-bitmaps-in-gui_init_fringe.patch RnJvbSA0ZDVhMThiYmIxODQ5NmViMDJlOTQ5Yjk5M2NjM2Y5YmNhN2M0ZDkx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBTYXQsIDE3IEFw ciAyMDIxIDA5OjM3OjIxICswMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIENvbnNp ZGVyIGFsbCB1c2VyLWRlZmluZWQgYml0bWFwcyBpbiBndWlfaW5pdF9mcmlu Z2UoKQ0KDQoqIHNyYy9mcmluZ2UuYyAoZ3VpX2luaXRfZnJpbmdlKTogQWxz byBjb25zaWRlciB1c2VyLWRlZmluZWQgYml0bWFwcyB0aGF0DQpvdmVycmlk ZSBkZWZhdWx0IG9uZXMgKEJ1ZyM0NzgzMikuDQotLS0NCiBzcmMvZnJpbmdl LmMgfCAyICstDQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pDQoNCmRpZmYgLS1naXQgYS9zcmMvZnJpbmdlLmMgYi9z cmMvZnJpbmdlLmMNCmluZGV4IDY1YzlhODRhYzkuLmYyYjYwYjVjOGUgMTAw NjQ0DQotLS0gYS9zcmMvZnJpbmdlLmMNCisrKyBiL3NyYy9mcmluZ2UuYw0K QEAgLTE3ODMsNyArMTc4Myw3IEBAIGd1aV9pbml0X2ZyaW5nZSAoc3RydWN0 IHJlZGlzcGxheV9pbnRlcmZhY2UgKnJpZikNCiAgICAgIGJlZm9yZSB0aGUg ZnJhbWUgb2YgdGhpcyBraW5kIHdhcyBpbml0aWFsaXplZC4gIFRoaXMgY2Fu IGhhcHBlbg0KICAgICAgaWYgRW1hY3MgaXMgc3RhcnRlZCBhcyBhIGRhZW1v biBhbmQgdGhlIGluaXQgZmlsZXMgZGVmaW5lIGZyaW5nZQ0KICAgICAgYml0 bWFwcy4gICovDQotICBmb3IgKCA7IGJ0IDwgbWF4X3VzZWRfZnJpbmdlX2Jp dG1hcDsgYnQrKykNCisgIGZvciAoYnQgPSBOT19GUklOR0VfQklUTUFQICsg MTsgYnQgPCBtYXhfdXNlZF9mcmluZ2VfYml0bWFwOyBidCsrKQ0KICAgICB7 DQogICAgICAgc3RydWN0IGZyaW5nZV9iaXRtYXAgKmZiID0gZnJpbmdlX2Jp dG1hcHNbYnRdOw0KICAgICAgIGlmIChmYikNCi0tIA0KMi4zMC4yDQoNCg== --wSN0riL65Y-- From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 10:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gregory Heytings Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.16186570568491 (code B ref 47832); Sat, 17 Apr 2021 10:58:02 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 10:57:36 +0000 Received: from localhost ([127.0.0.1]:42357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXido-0002Cq-GJ for submit@debbugs.gnu.org; Sat, 17 Apr 2021 06:57:36 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50224) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXidj-0002CW-9N for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 06:57:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60041) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXidd-0008MV-Ff; Sat, 17 Apr 2021 06:57:21 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3252 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lXida-0001GD-5P; Sat, 17 Apr 2021 06:57:19 -0400 Date: Sat, 17 Apr 2021 13:57:14 +0300 Message-Id: <83h7k5w54l.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <1869622e16688e6aedec@heytings.org> (message from Gregory Heytings on Sat, 17 Apr 2021 09:49:46 +0000) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Sat, 17 Apr 2021 09:49:46 +0000 > From: Gregory Heytings > cc: 47832@debbugs.gnu.org > > This used to work indeed; it worked on GNU/Linux with default (non-Cairo) > builds for Emacs 24 to 27. And with Emacs 28 it doesn't work in non-Cairo builds? > Got it! :-) The commit I identified is indeed the culprit. With > USE_CAIRO, gui_init_fringe() is called in x_initialize(); without > USE_CAIRO it isn't. And gui_init_fringe() had a bug, which should now be > fixed on Windows, too. Patch attached. Thanks, but is this really all that needs to be done? How will gui_init_fringe be called in the non-Cairo builds? And what about NS? From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 11:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: gregory@heytings.org Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.161865848310920 (code B ref 47832); Sat, 17 Apr 2021 11:22:01 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 11:21:23 +0000 Received: from localhost ([127.0.0.1]:42364 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXj0s-0002q4-Sl for submit@debbugs.gnu.org; Sat, 17 Apr 2021 07:21:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54036) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXj0r-0002pr-Cp for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 07:21:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60238) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXj0k-0006dy-Jm; Sat, 17 Apr 2021 07:21:15 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4704 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lXj0j-00086o-B8; Sat, 17 Apr 2021 07:21:14 -0400 Date: Sat, 17 Apr 2021 14:21:06 +0300 Message-Id: <83fszpw40t.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <83h7k5w54l.fsf@gnu.org> (message from Eli Zaretskii on Sat, 17 Apr 2021 13:57:14 +0300) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Sat, 17 Apr 2021 13:57:14 +0300 > From: Eli Zaretskii > Cc: 47832@debbugs.gnu.org > > > Got it! :-) The commit I identified is indeed the culprit. With > > USE_CAIRO, gui_init_fringe() is called in x_initialize(); without > > USE_CAIRO it isn't. And gui_init_fringe() had a bug, which should now be > > fixed on Windows, too. Patch attached. > > Thanks, but is this really all that needs to be done? How will > gui_init_fringe be called in the non-Cairo builds? And what about NS? Answering myself: they don't need to call gui_init_fringe. Since gui_init_fringe returns immediately if the frame interface doesn't provide a method for fringe initialization, I think we should call gui_init_fringe unconditionally on X. And in any case, the patch for gui_init_fringe is sub-optimal: it unnecessarily loops over the standard bitmaps that were superseded. It is better to leave the first loop go over the standard bitmaps, whether superseded or not, and the second loop go over non-standard bitmaps only. Thanks. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 11:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.161865888311501 (code B ref 47832); Sat, 17 Apr 2021 11:29:02 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 11:28:03 +0000 Received: from localhost ([127.0.0.1]:42369 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXj7L-0002zR-K9 for submit@debbugs.gnu.org; Sat, 17 Apr 2021 07:28:03 -0400 Received: from heytings.org ([95.142.160.155]:41546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXj7G-0002yz-5W for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 07:28:02 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1618658877; bh=nWdITWnehK34JeZs65RYBHoAOxozsmihJkhAlKUZhjo=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=o6mzFY5duBQ1N6IaOTMFF3dufFpgOi2Fmhp/rzukkRYdETK9dXvLIGkbmcR6B/Ms2 enmrdrmzsfoy8vmtwzzNqvKhNYzkwjZBdSkOTkBWwBqhdqTtKwLCSdezGxU7X6I7Tz L8iV+X6jwi0jsRkFbuF/RraQs6gdkMqK/GrS7lxSqP4/AGX4Ur/L8eKAtvzQG2JsEC JpO1DirG4ftLImuYToUmevWBw6IOQ0AUmkUaHe4fZTXDT8ydfYiEBIW0iXwBA7atQI H5aAPoyeYHAxI0VFSNOpKZ+dAlXq3BmYXWl7s7Egjz/kbV9jRusUQLADoUBLCbv1cp C9DA+U8MZyM0A== Date: Sat, 17 Apr 2021 11:27:56 +0000 From: Gregory Heytings In-Reply-To: <83h7k5w54l.fsf@gnu.org> Message-ID: <1869622e16c4eb74d974@heytings.org> References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> This used to work indeed; it worked on GNU/Linux with default >> (non-Cairo) builds for Emacs 24 to 27. > > And with Emacs 28 it doesn't work in non-Cairo builds? > Yes, with Emacs 28 it works with non-Cairo builds. >> Got it! :-) The commit I identified is indeed the culprit. With >> USE_CAIRO, gui_init_fringe() is called in x_initialize(); without >> USE_CAIRO it isn't. And gui_init_fringe() had a bug, which should now >> be fixed on Windows, too. Patch attached. > > Thanks, but is this really all that needs to be done? How will > gui_init_fringe be called in the non-Cairo builds? And what about NS? > On non-Cairo builds gui_init_finge is not called, the only call to gui_init_fringe in xterm.c is inside an #if USE_CAIRO. And on NS gui_init_fringe isn't called either. I just checked, NS builds are not affected by this bug. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 11:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.161865914820129 (code B ref 47832); Sat, 17 Apr 2021 11:33:02 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 11:32:28 +0000 Received: from localhost ([127.0.0.1]:42383 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXjBc-0005Eb-04 for submit@debbugs.gnu.org; Sat, 17 Apr 2021 07:32:28 -0400 Received: from heytings.org ([95.142.160.155]:41558) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXjBa-0005EQ-CQ for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 07:32:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1618659145; bh=n2/AMfGoOxFSZ0cV5INz0T3ywyFMBCgHBUaRhLuJFdM=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=Fb06fU/lWCsGfiyc3uMY7nwIVw8ctF6ZLeoM2wVLTJ6/vit73rz+KVM13S1gXxMX4 VQGgf5CWfhIq4eIPfdimGEPzso0c+KEDIxz7ITnWv3/XQ2QpzaeyhJ4Zyx4LJzvjvB WTYImPsLp5EUSIUoG1WCr2z41BtVSt9cLKVhbQrKxOGRvQcFIqvexfCZ71s2X3HmYm 1UiT1Y5jhOLdWCeONMjROVeOJC4eVDdc8tMXVE2itPi+6EIptbb72OPhuNuNmY3wLC w3wg7FvCWIox/wXMbSUMP414DAFXYlx3PKGZo0pdACDFzy1KwRH67Q+OXf8lFQ57dn RWqazSLIwJ+gA== Date: Sat, 17 Apr 2021 11:32:25 +0000 From: Gregory Heytings In-Reply-To: <83fszpw40t.fsf@gnu.org> Message-ID: <1869622e16c60dc2ce0d@heytings.org> References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>> Got it! :-) The commit I identified is indeed the culprit. With >>> USE_CAIRO, gui_init_fringe() is called in x_initialize(); without >>> USE_CAIRO it isn't. And gui_init_fringe() had a bug, which should now >>> be fixed on Windows, too. Patch attached. >> >> Thanks, but is this really all that needs to be done? How will >> gui_init_fringe be called in the non-Cairo builds? And what about NS? > > Answering myself: they don't need to call gui_init_fringe. > Indeed. > > Since gui_init_fringe returns immediately if the frame interface doesn't > provide a method for fringe initialization, I think we should call > gui_init_fringe unconditionally on X. > > And in any case, the patch for gui_init_fringe is sub-optimal: it > unnecessarily loops over the standard bitmaps that were superseded. It > is better to leave the first loop go over the standard bitmaps, whether > superseded or not, and the second loop go over non-standard bitmaps > only. > It is not sub-optimal, rif->define_fringe_bitmap will only be called for those standard bitmaps that were superseded. For the non-superseded ones, fringe_bitmaps[bt] is NULL. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 11:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.161865924920306 (code B ref 47832); Sat, 17 Apr 2021 11:35:02 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 11:34:09 +0000 Received: from localhost ([127.0.0.1]:42388 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXjDF-0005HS-BW for submit@debbugs.gnu.org; Sat, 17 Apr 2021 07:34:09 -0400 Received: from heytings.org ([95.142.160.155]:41568) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXjDD-0005HK-QL for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 07:34:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1618659247; bh=R3MSUfHp37ImealxWwEdJ5l7JKsF11X9GaV+cfhL+9I=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=ufw/YrmvyQpIZnt0w0eXezHXjEIl/PE8o8qsAPesUlblwh9H/Iun9epZYggz9lsbK dZmLkalEFHkiVGeBMxXEsbRwFWxkxVpUwO5h9maIFVS2Mbp/NQWhdUC4W9XPM0y00l tpb+YDgqCUer4lKkE8IC7V0ldD2gjFRFR3rmhTRNcx5PMOSFpcKPJZB01pY3XPd5DP AndoqF25crOITXQTUG3fwPEMrDtGc9DEJENu9m+oBw+/Jv8PJ2SxDPrhk72RSM21LP VIQhjs33AnDX4oN03kRpCDbB4Y6TJVhBUf6ZM1Vc7v8blTBJcmEqj9lM5vtb1Mx/tW eYZDS2S5LkoHQ== Date: Sat, 17 Apr 2021 11:34:06 +0000 From: Gregory Heytings In-Reply-To: <83fszpw40t.fsf@gnu.org> Message-ID: <1869622e16ba14990471@heytings.org> References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > > Since gui_init_fringe returns immediately if the frame interface doesn't > provide a method for fringe initialization, I think we should call > gui_init_fringe unconditionally on X. > Wouldn't that leave the bug unfixed on Windows? From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 12:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gregory Heytings Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.161866250125664 (code B ref 47832); Sat, 17 Apr 2021 12:29:01 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 12:28:21 +0000 Received: from localhost ([127.0.0.1]:42433 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXk3g-0006fs-Py for submit@debbugs.gnu.org; Sat, 17 Apr 2021 08:28:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXk3e-0006fd-Qg for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 08:28:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60943) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXk3Y-0006Gf-4W; Sat, 17 Apr 2021 08:28:12 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4802 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lXk3N-0005Oy-TH; Sat, 17 Apr 2021 08:28:06 -0400 Date: Sat, 17 Apr 2021 15:27:58 +0300 Message-Id: <83eef9w0xd.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <1869622e16c60dc2ce0d@heytings.org> (message from Gregory Heytings on Sat, 17 Apr 2021 11:32:25 +0000) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Sat, 17 Apr 2021 11:32:25 +0000 > From: Gregory Heytings > cc: 47832@debbugs.gnu.org > > > Since gui_init_fringe returns immediately if the frame interface doesn't > > provide a method for fringe initialization, I think we should call > > gui_init_fringe unconditionally on X. Here I meant to call gui_init_fringe unconditionally. It will make the code less confusing. > > And in any case, the patch for gui_init_fringe is sub-optimal: it > > unnecessarily loops over the standard bitmaps that were superseded. It > > is better to leave the first loop go over the standard bitmaps, whether > > superseded or not, and the second loop go over non-standard bitmaps > > only. > > It is not sub-optimal, rif->define_fringe_bitmap will only be called for > those standard bitmaps that were superseded. For the non-superseded ones, > fringe_bitmaps[bt] is NULL. I meant the first loop, not the second one. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 12:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Gregory Heytings Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.161866253725735 (code B ref 47832); Sat, 17 Apr 2021 12:29:02 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 12:28:57 +0000 Received: from localhost ([127.0.0.1]:42438 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXk4H-0006h0-2R for submit@debbugs.gnu.org; Sat, 17 Apr 2021 08:28:57 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35526) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXk4E-0006gj-Ra for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 08:28:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60945) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lXk49-0006ef-Lr; Sat, 17 Apr 2021 08:28:49 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4849 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lXk48-0006Zs-CZ; Sat, 17 Apr 2021 08:28:49 -0400 Date: Sat, 17 Apr 2021 15:28:44 +0300 Message-Id: <83czutw0w3.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <1869622e16ba14990471@heytings.org> (message from Gregory Heytings on Sat, 17 Apr 2021 11:34:06 +0000) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16ba14990471@heytings.org> X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Date: Sat, 17 Apr 2021 11:34:06 +0000 > From: Gregory Heytings > cc: 47832@debbugs.gnu.org > > > Since gui_init_fringe returns immediately if the frame interface doesn't > > provide a method for fringe initialization, I think we should call > > gui_init_fringe unconditionally on X. > > > > Wouldn't that leave the bug unfixed on Windows? No, because Windows calls it in another place. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 17 Apr 2021 12:53:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.161866393128268 (code B ref 47832); Sat, 17 Apr 2021 12:53:01 +0000 Received: (at 47832) by debbugs.gnu.org; 17 Apr 2021 12:52:11 +0000 Received: from localhost ([127.0.0.1]:42455 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXkQl-0007Ls-Es for submit@debbugs.gnu.org; Sat, 17 Apr 2021 08:52:11 -0400 Received: from heytings.org ([95.142.160.155]:41654) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXkQj-0007Lj-Hn for 47832@debbugs.gnu.org; Sat, 17 Apr 2021 08:52:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1618663928; bh=Cv6ba5yg6wMkxb+0Hg5CackgerrB0bWnuCUh1RxUSt0=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=QLNxVkAMg02RKSm1euXjCkuf44R0rT1+BPWq0XNHHa2yNHtB4FmoXT93HYEMGvA7K 1NYK7XSCU20TfFNVHRiYFxVv0iClM2H8eq9AHJP4ul5rdEVI3RLNvQUBX3EVSTPaS9 LFLaboGci1L4qRO7PCTGwMfP/Af4MgaLiKNe4NqZNCRFfJk1TKl0zdA43arO9tUsAw U3Oho5UI2A0s4X2mQzDzBdsN6bHZjc5K1Ef/ksPeaikBb7xYkRMHH3zNF9v7I7Ql4T uUpfm6cJ9SWpYPppxJtz1oXV/dzMgzJBl+AHG1IGmcjSLgKvE7Yz+acRgGE2qpoC5q 2q9pQAnFv97sw== Date: Sat, 17 Apr 2021 12:52:08 +0000 From: Gregory Heytings In-Reply-To: <83eef9w0xd.fsf@gnu.org> Message-ID: <1869622e16270efbc7e8@heytings.org> References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="B7fHCgR0Yd" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --B7fHCgR0Yd Content-Type: text/plain; format=flowed; charset=us-ascii >>> And in any case, the patch for gui_init_fringe is sub-optimal: it >>> unnecessarily loops over the standard bitmaps that were superseded. It >>> is better to leave the first loop go over the standard bitmaps, >>> whether superseded or not, and the second loop go over non-standard >>> bitmaps only. >> >> It is not sub-optimal, rif->define_fringe_bitmap will only be called >> for those standard bitmaps that were superseded. For the >> non-superseded ones, fringe_bitmaps[bt] is NULL. > > I meant the first loop, not the second one. > Okay, the patch was meant only to fix the bug, but indeed the small optimization you mention makes sense. Updated patch attached. --B7fHCgR0Yd Content-Type: text/x-diff; name=Consider-all-user-defined-bitmaps-in-gui_init_fringe.patch Content-Transfer-Encoding: base64 Content-ID: <1869622e163a73965b25@heytings.org> Content-Description: Content-Disposition: attachment; filename=Consider-all-user-defined-bitmaps-in-gui_init_fringe.patch RnJvbSBkMDJhZjJjNzAwN2IyYmEyZmZhNmMwZmI0N2UzM2U2NTExNjgwOGM0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBTYXQsIDE3IEFw ciAyMDIxIDEyOjQ4OjQ4ICswMDAwDQpTdWJqZWN0OiBbUEFUQ0hdIENvbnNp ZGVyIGFsbCB1c2VyLWRlZmluZWQgYml0bWFwcyBpbiBndWlfaW5pdF9mcmlu Z2UoKQ0KDQoqIHNyYy9mcmluZ2UuYyAoZ3VpX2luaXRfZnJpbmdlKTogQ29u c2lkZXIgdXNlci1kZWZpbmVkIGJpdG1hcHMgdGhhdA0Kb3ZlcnJpZGUgZGVm YXVsdCBvbmVzIChCdWcjNDc4MzIpLg0KLS0tDQogc3JjL2ZyaW5nZS5jIHwg NSArKystLQ0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9zcmMvZnJpbmdlLmMgYi9z cmMvZnJpbmdlLmMNCmluZGV4IDY1YzlhODRhYzkuLjQ3NjE1ZjUxZjkgMTAw NjQ0DQotLS0gYS9zcmMvZnJpbmdlLmMNCisrKyBiL3NyYy9mcmluZ2UuYw0K QEAgLTE3NzYsMTQgKzE3NzYsMTUgQEAgZ3VpX2luaXRfZnJpbmdlIChzdHJ1 Y3QgcmVkaXNwbGF5X2ludGVyZmFjZSAqcmlmKQ0KICAgZm9yIChidCA9IE5P X0ZSSU5HRV9CSVRNQVAgKyAxOyBidCA8IE1BWF9TVEFOREFSRF9GUklOR0Vf QklUTUFQUzsgYnQrKykNCiAgICAgew0KICAgICAgIHN0cnVjdCBmcmluZ2Vf Yml0bWFwICpmYiA9ICZzdGFuZGFyZF9iaXRtYXBzW2J0XTsNCi0gICAgICBy aWYtPmRlZmluZV9mcmluZ2VfYml0bWFwIChidCwgZmItPmJpdHMsIGZiLT5o ZWlnaHQsIGZiLT53aWR0aCk7DQorICAgICAgaWYgKCFmcmluZ2VfYml0bWFw c1tidF0pDQorICAgICAgICByaWYtPmRlZmluZV9mcmluZ2VfYml0bWFwIChi dCwgZmItPmJpdHMsIGZiLT5oZWlnaHQsIGZiLT53aWR0aCk7DQogICAgIH0N CiANCiAgIC8qIFNldCB1cCB1c2VyLWRlZmluZWQgZnJpbmdlIGJpdG1hcHMg dGhhdCBtaWdodCBoYXZlIGJlZW4gZGVmaW5lZA0KICAgICAgYmVmb3JlIHRo ZSBmcmFtZSBvZiB0aGlzIGtpbmQgd2FzIGluaXRpYWxpemVkLiAgVGhpcyBj YW4gaGFwcGVuDQogICAgICBpZiBFbWFjcyBpcyBzdGFydGVkIGFzIGEgZGFl bW9uIGFuZCB0aGUgaW5pdCBmaWxlcyBkZWZpbmUgZnJpbmdlDQogICAgICBi aXRtYXBzLiAgKi8NCi0gIGZvciAoIDsgYnQgPCBtYXhfdXNlZF9mcmluZ2Vf Yml0bWFwOyBidCsrKQ0KKyAgZm9yIChidCA9IE5PX0ZSSU5HRV9CSVRNQVAg KyAxOyBidCA8IG1heF91c2VkX2ZyaW5nZV9iaXRtYXA7IGJ0KyspDQogICAg IHsNCiAgICAgICBzdHJ1Y3QgZnJpbmdlX2JpdG1hcCAqZmIgPSBmcmluZ2Vf Yml0bWFwc1tidF07DQogICAgICAgaWYgKGZiKQ0KLS0gDQoyLjMwLjINCg0K --B7fHCgR0Yd-- From debbugs-submit-bounces@debbugs.gnu.org Sun May 02 20:42:47 2021 Received: (at control) by debbugs.gnu.org; 3 May 2021 00:42:47 +0000 Received: from localhost ([127.0.0.1]:45723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ldMff-0002qt-AM for submit@debbugs.gnu.org; Sun, 02 May 2021 20:42:47 -0400 Received: from mail-pf1-f179.google.com ([209.85.210.179]:35698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ldMfe-0002qm-2L for control@debbugs.gnu.org; Sun, 02 May 2021 20:42:46 -0400 Received: by mail-pf1-f179.google.com with SMTP id i13so3050524pfu.2 for ; Sun, 02 May 2021 17:42:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:date:message-id:subject:to; bh=1oqDoVi44l+wCrRU4+rZCJTvhAJ8xLP7bqSuwxZtq8w=; b=AqnjfbLMblfp/T6puq4Y1DYK8S+Q2xYbyfEJ+8trUrBhyYYgA3yWXGPKrHQmBQgZaV LA0y2kt9Nb1KY6rQ5nQvIYWrNoz97tux6IVwcImWGdONFKzWHE/MkDsbCIfdKM7sfYru XiUWfiFCJmFwAbIPKdRq1wmQLvdMOOEtMzfg/wGQi5ZeKlyi0ZVZ5kJDMprof/DtQcB8 mykNe2gCdjJmgfVrFMX7m9Kc0ohlKbUtYx7HooeKfDveUC2dr1jXRWSTQAfstKNtElPw qxiHHEQMHRa+vsgHsO5zaK3+17puj3fzC12YMsVC9dxwThX9jix8BJOXgwLMgurgp5E3 ZLGg== X-Gm-Message-State: AOAM5339ybcoqUXwwzXNG6SlJQVhM/FkW1ZRyDn/8/jAzq4MZVgRzVJ2 4GpCM9Sks11X+fXGz/tmQtG/Jr6+DRAPtwh2yx3htwuK X-Google-Smtp-Source: ABdhPJz3Uji10s+htsQC906Cfjk+47jiB1xHzyWDnJC3MCqmOANc5nFYa5yXRSC4H8pA4MMrR05CmRZft5apqj/GPSE= X-Received: by 2002:aa7:828f:0:b029:200:6e27:8c8f with SMTP id s15-20020aa7828f0000b02902006e278c8fmr16174178pfm.44.1620002560009; Sun, 02 May 2021 17:42:40 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 2 May 2021 19:42:39 -0500 From: Stefan Kangas MIME-Version: 1.0 Date: Sun, 2 May 2021 19:42:39 -0500 Message-ID: Subject: To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 2.5 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tags 47832 + patch thanks Content analysis details: (2.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.210.179 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefankangas[at]gmail.com) -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.210.179 listed in wl.mailspike.net] -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different 2.0 BLANK_SUBJECT Subject is present but empty 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tags 47832 + patch thanks Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.210.179 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.210.179 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (stefankangas[at]gmail.com) -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and EnvelopeFrom freemail headers are different 2.0 BLANK_SUBJECT Subject is present but empty 0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay lines -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager tags 47832 + patch thanks From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 May 2021 04:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Gregory Heytings Cc: Eli Zaretskii , 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.16219164891543 (code B ref 47832); Tue, 25 May 2021 04:22:01 +0000 Received: (at 47832) by debbugs.gnu.org; 25 May 2021 04:21:29 +0000 Received: from localhost ([127.0.0.1]:44359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llOZN-0000Op-Ju for submit@debbugs.gnu.org; Tue, 25 May 2021 00:21:29 -0400 Received: from quimby.gnus.org ([95.216.78.240]:40046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llOZL-0000OY-LY for 47832@debbugs.gnu.org; Tue, 25 May 2021 00:21:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=3wHiDVTGA4mBDwiHdQvFTpIYBiMjoxFC2tmWOGRGYGk=; b=H9jrwv7vPsTVrwByOO0xM13hGi RCvsDfGWn5oyd5X6yA2SGnYN2XiBoNsaVkoXUlICOdK58pNpo+OB/YpT7OeIS+I5y7JQgBa2VExQG Bs8NE8dJUwDk8deRAotvBFoQEf26quySovvOMf/eCOR8ZN5X53yEKRgjRRQfk/DLRAbA=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1llOZD-0003Hj-Lw; Tue, 25 May 2021 06:21:21 +0200 From: Lars Ingebrigtsen References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> X-Now-Playing: Bogdan Raczynski's _Muzyka Dla =?UTF-8?Q?Imigrant=C3=B3w=5F:?= "=?UTF-8?Q?=C5=BBegnajcie_?= =?UTF-8?Q?O=C5=82owiane_?= =?UTF-8?Q?=C5=BBo=C5=82nierzyki?=" Date: Tue, 25 May 2021 06:21:19 +0200 In-Reply-To: <1869622e16270efbc7e8@heytings.org> (Gregory Heytings's message of "Sat, 17 Apr 2021 12:52:08 +0000") Message-ID: <87im3778ao.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Gregory Heytings writes: > Okay, the patch was meant only to fix the bug, but indeed the small > optimization you mention makes sense. Updated patch attached. Thanks; applied to Emacs 28. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Gregory Heytings writes: > Okay, the patch was meant only to fix the bug, but indeed the small > optimization you mention makes sense. Updated patch attached. Thanks; applied to Emacs 28. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue May 25 00:21:35 2021 Received: (at control) by debbugs.gnu.org; 25 May 2021 04:21:35 +0000 Received: from localhost ([127.0.0.1]:44362 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llOZS-0000P8-RX for submit@debbugs.gnu.org; Tue, 25 May 2021 00:21:34 -0400 Received: from quimby.gnus.org ([95.216.78.240]:40062) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llOZR-0000Oi-Bo for control@debbugs.gnu.org; Tue, 25 May 2021 00:21:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Lp7BtMkVC/z2RTQx4jLO5kXRoCpjEZFlpSgREuqev1Q=; b=pR42Rphp8tuKN4bbq+KvaCKzar mVswg9d8zfxFlYcraPzTICtbbZ3L3JOO+gxeWqgr/+MqgCkkXgw7RAOoqOhHqm7bwbRaKxKt2TdBv ZGquGdLfSvqbWEmRFv9BT3YInGVpsjCmcEdu923sGfCv0fySN+kiUYJnnWZVvHaekBlc=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1llOZJ-0003Hs-TM for control@debbugs.gnu.org; Tue, 25 May 2021 06:21:27 +0200 Date: Tue, 25 May 2021 06:21:25 +0200 Message-Id: <87h7ir78ai.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #47832 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: tags 47832 fixed close 47832 28.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 47832 fixed close 47832 28.1 quit From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 May 2021 11:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Lars Ingebrigtsen Cc: gregory@heytings.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.16219437407080 (code B ref 47832); Tue, 25 May 2021 11:56:01 +0000 Received: (at 47832) by debbugs.gnu.org; 25 May 2021 11:55:40 +0000 Received: from localhost ([127.0.0.1]:44872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llVet-0001q7-Lf for submit@debbugs.gnu.org; Tue, 25 May 2021 07:55:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44084) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llVes-0001pw-Dc for 47832@debbugs.gnu.org; Tue, 25 May 2021 07:55:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42198) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1llVem-0005R9-LF; Tue, 25 May 2021 07:55:32 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2450 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llVeh-0006dU-58; Tue, 25 May 2021 07:55:32 -0400 Date: Tue, 25 May 2021 14:55:25 +0300 Message-Id: <83eedvc9jm.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87im3778ao.fsf@gnus.org> (message from Lars Ingebrigtsen on Tue, 25 May 2021 06:21:19 +0200) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Lars Ingebrigtsen > Cc: Eli Zaretskii , 47832@debbugs.gnu.org > Date: Tue, 25 May 2021 06:21:19 +0200 > > Gregory Heytings writes: > > > Okay, the patch was meant only to fix the bug, but indeed the small > > optimization you mention makes sense. Updated patch attached. > > Thanks; applied to Emacs 28. Bother: > diff --git a/src/fringe.c b/src/fringe.c > index 65c9a84..47615f5 100644 > --- a/src/fringe.c > +++ b/src/fringe.c > @@ -1776,14 +1776,15 @@ gui_init_fringe (struct redisplay_interface *rif) > for (bt = NO_FRINGE_BITMAP + 1; bt < MAX_STANDARD_FRINGE_BITMAPS; bt++) > { > struct fringe_bitmap *fb = &standard_bitmaps[bt]; > - rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); > + if (!fringe_bitmaps[bt]) > + rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); > } > > /* Set up user-defined fringe bitmaps that might have been defined > before the frame of this kind was initialized. This can happen > if Emacs is started as a daemon and the init files define fringe > bitmaps. */ > - for ( ; bt < max_used_fringe_bitmap; bt++) > + for (bt = NO_FRINGE_BITMAP + 1; bt < max_used_fringe_bitmap; bt++) > { > struct fringe_bitmap *fb = fringe_bitmaps[bt]; > if (fb) Why does the second for-loop go again over the bitmaps that the first one already processed? Or what am I missing? From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 May 2021 12:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Eli Zaretskii Cc: Lars Ingebrigtsen , 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162194668120342 (code B ref 47832); Tue, 25 May 2021 12:45:01 +0000 Received: (at 47832) by debbugs.gnu.org; 25 May 2021 12:44:41 +0000 Received: from localhost ([127.0.0.1]:44919 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llWQL-0005I1-0E for submit@debbugs.gnu.org; Tue, 25 May 2021 08:44:41 -0400 Received: from heytings.org ([95.142.160.155]:36434) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llWQH-0005Hp-M8 for 47832@debbugs.gnu.org; Tue, 25 May 2021 08:44:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1621946675; bh=3wlvdDmU3sOWRy0NmOuA39CG825azmVVt0UX08U4gHw=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=xURp1L0EOrpqNIqysHyC1fKXNXD/CZOIYnUSmHhhbAatdK2l/Gt7S1g73Y6EJ1JMd ROnfT3fqbp4IrwJn3CJ3+svd+knHKu2/z86ep/LWoUZQtO/jhKIXMInmaVYZkb36Vt G9IX7Vf0Kme52RbP80knGASvZI/kGJSq1Qc2RG498hqWNcGwhleSrE4K7GRmmBgLmU N6LVc4IGq0tbO09uuIXLnlZe9QGh1NjZXm1S7IDg18iCMCQ1NLmI1grdFFO3F1abT/ K/rtBmxzHcsrp1kE2fIzYFHTn31b0ol3n0z2C4kHjdEcSGNgwhoxwBxPXuuJCjvtug qdw/LVQB2tjDA== Date: Tue, 25 May 2021 12:44:34 +0000 From: Gregory Heytings In-Reply-To: <83eedvc9jm.fsf@gnu.org> Message-ID: References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> diff --git a/src/fringe.c b/src/fringe.c >> index 65c9a84..47615f5 100644 >> --- a/src/fringe.c >> +++ b/src/fringe.c >> @@ -1776,14 +1776,15 @@ gui_init_fringe (struct redisplay_interface *rif) >> for (bt = NO_FRINGE_BITMAP + 1; bt < MAX_STANDARD_FRINGE_BITMAPS; bt++) >> { >> struct fringe_bitmap *fb = &standard_bitmaps[bt]; >> - rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); >> + if (!fringe_bitmaps[bt]) >> + rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); >> } >> >> /* Set up user-defined fringe bitmaps that might have been defined >> before the frame of this kind was initialized. This can happen >> if Emacs is started as a daemon and the init files define fringe >> bitmaps. */ >> - for ( ; bt < max_used_fringe_bitmap; bt++) >> + for (bt = NO_FRINGE_BITMAP + 1; bt < max_used_fringe_bitmap; bt++) >> { >> struct fringe_bitmap *fb = fringe_bitmaps[bt]; >> if (fb) > > Why does the second for-loop go again over the bitmaps that the first > one already processed? Or what am I missing? > Each loop processes its "own" bitmaps. In the first loop define_fringe_bitmap is called only if (!fringe_bitmaps[bt]), in the second loop it is called only if (fringe_bitmaps[bt]). IOW, the first loop processes the standard bitmaps that are not overridden by user-defined bitmaps, and the second loop processes user-defined bitmaps. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 May 2021 12:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Gregory Heytings Cc: larsi@gnus.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162194743021670 (code B ref 47832); Tue, 25 May 2021 12:58:02 +0000 Received: (at 47832) by debbugs.gnu.org; 25 May 2021 12:57:10 +0000 Received: from localhost ([127.0.0.1]:44935 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llWcQ-0005dQ-EU for submit@debbugs.gnu.org; Tue, 25 May 2021 08:57:10 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58628) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llWcO-0005d8-UH for 47832@debbugs.gnu.org; Tue, 25 May 2021 08:57:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43742) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1llWcJ-0000s4-3m; Tue, 25 May 2021 08:57:03 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2284 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llWcI-0003kT-E7; Tue, 25 May 2021 08:57:02 -0400 Date: Tue, 25 May 2021 15:56:59 +0300 Message-Id: <835yz7c6p0.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gregory Heytings on Tue, 25 May 2021 12:44:34 +0000) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 25 May 2021 12:44:34 +0000 > From: Gregory Heytings > cc: Lars Ingebrigtsen , 47832@debbugs.gnu.org > > > >> diff --git a/src/fringe.c b/src/fringe.c > >> index 65c9a84..47615f5 100644 > >> --- a/src/fringe.c > >> +++ b/src/fringe.c > >> @@ -1776,14 +1776,15 @@ gui_init_fringe (struct redisplay_interface *rif) > >> for (bt = NO_FRINGE_BITMAP + 1; bt < MAX_STANDARD_FRINGE_BITMAPS; bt++) > >> { > >> struct fringe_bitmap *fb = &standard_bitmaps[bt]; > >> - rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); > >> + if (!fringe_bitmaps[bt]) > >> + rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); > >> } > >> > >> /* Set up user-defined fringe bitmaps that might have been defined > >> before the frame of this kind was initialized. This can happen > >> if Emacs is started as a daemon and the init files define fringe > >> bitmaps. */ > >> - for ( ; bt < max_used_fringe_bitmap; bt++) > >> + for (bt = NO_FRINGE_BITMAP + 1; bt < max_used_fringe_bitmap; bt++) > >> { > >> struct fringe_bitmap *fb = fringe_bitmaps[bt]; > >> if (fb) > > > > Why does the second for-loop go again over the bitmaps that the first > > one already processed? Or what am I missing? > > > > Each loop processes its "own" bitmaps. In the first loop > define_fringe_bitmap is called only if (!fringe_bitmaps[bt]), in the > second loop it is called only if (fringe_bitmaps[bt]). IOW, the first > loop processes the standard bitmaps that are not overridden by > user-defined bitmaps, and the second loop processes user-defined bitmaps. If the standard bitmaps were overridden by user-defined ones, why do we need to set those overriding user-defined bitmaps once again? From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 May 2021 13:04:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Eli Zaretskii Cc: larsi@gnus.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162194780822414 (code B ref 47832); Tue, 25 May 2021 13:04:01 +0000 Received: (at 47832) by debbugs.gnu.org; 25 May 2021 13:03:28 +0000 Received: from localhost ([127.0.0.1]:44957 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llWiW-0005pS-5N for submit@debbugs.gnu.org; Tue, 25 May 2021 09:03:28 -0400 Received: from heytings.org ([95.142.160.155]:36476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llWiU-0005pI-IN for 47832@debbugs.gnu.org; Tue, 25 May 2021 09:03:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1621947805; bh=VezzZFeuhVyTUqpVKt1MyOGQDMrt5+euA/Yr4v3qD5Y=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=HjKXhvp/gsn3ohoaavdvU5q8DBoHzbQ3klcRZKuuOiZPDzRyrWrogGSyhRtDJA+1W QGRtFDPiLXLv+Kpese4w5Ya5+QkFXy86C3AEXa3i94ie7/eG199tflPbdSm0XkMWjE EjsFk3Ses/Mll+6/piiKFxrgRjCBKNKEioDuPiEfs2ODmlNZErZtoqxINI0Gtt8apU rU79bVccOfbvSIXEK43OwCQuRevNNgjZBXe3qJkIJdr+30YJmsR8k81c3vK2bomeE7 iZhM+mpcHsOHuFxbZvJEA/xRYboFurVzMJtvkJLb5foGGBHVCsWeMQB2j1HRXtKJn1 aVLmfTI/QLzoA== Date: Tue, 25 May 2021 13:03:25 +0000 From: Gregory Heytings In-Reply-To: <835yz7c6p0.fsf@gnu.org> Message-ID: References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> <835yz7c6p0.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> Each loop processes its "own" bitmaps. In the first loop >> define_fringe_bitmap is called only if (!fringe_bitmaps[bt]), in the >> second loop it is called only if (fringe_bitmaps[bt]). IOW, the first >> loop processes the standard bitmaps that are not overridden by >> user-defined bitmaps, and the second loop processes user-defined >> bitmaps. > > If the standard bitmaps were overridden by user-defined ones, why do we > need to set those overriding user-defined bitmaps once again? > Sorry, I don't understand your question. There are three kind of bitmaps: 1. standard bitmaps not overridden by user-defined bitmaps 2. standard bitmaps overridden by user-defined bitmaps 3. user-defined bitmaps The first loop processes the bitmaps of the first kind, the second loop the bitmaps of the second and third kind. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 May 2021 13:17:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Gregory Heytings Cc: larsi@gnus.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162194856323622 (code B ref 47832); Tue, 25 May 2021 13:17:02 +0000 Received: (at 47832) by debbugs.gnu.org; 25 May 2021 13:16:03 +0000 Received: from localhost ([127.0.0.1]:44980 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llWug-00068u-P0 for submit@debbugs.gnu.org; Tue, 25 May 2021 09:16:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35094) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llWue-000689-Dp for 47832@debbugs.gnu.org; Tue, 25 May 2021 09:16:01 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44252) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1llWuZ-0004MM-1z; Tue, 25 May 2021 09:15:55 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3484 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llWuY-0007sI-6R; Tue, 25 May 2021 09:15:54 -0400 Date: Tue, 25 May 2021 16:15:54 +0300 Message-Id: <83zgwjar91.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gregory Heytings on Tue, 25 May 2021 13:03:25 +0000) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> <835yz7c6p0.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 25 May 2021 13:03:25 +0000 > From: Gregory Heytings > cc: larsi@gnus.org, 47832@debbugs.gnu.org > > > If the standard bitmaps were overridden by user-defined ones, why do we > > need to set those overriding user-defined bitmaps once again? > > > > Sorry, I don't understand your question. > > There are three kind of bitmaps: > > 1. standard bitmaps not overridden by user-defined bitmaps > 2. standard bitmaps overridden by user-defined bitmaps > 3. user-defined bitmaps > > The first loop processes the bitmaps of the first kind, the second loop > the bitmaps of the second and third kind. I'm asking why do we need to process the second kind here. That kind was already set up when user initializations defined replacements for those standard bitmaps. Right? So why do we need to set them up again? From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 May 2021 13:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Eli Zaretskii Cc: larsi@gnus.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162194905724515 (code B ref 47832); Tue, 25 May 2021 13:25:01 +0000 Received: (at 47832) by debbugs.gnu.org; 25 May 2021 13:24:17 +0000 Received: from localhost ([127.0.0.1]:45016 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llX2e-0006NK-UX for submit@debbugs.gnu.org; Tue, 25 May 2021 09:24:17 -0400 Received: from heytings.org ([95.142.160.155]:36550) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llX2d-0006NC-9L for 47832@debbugs.gnu.org; Tue, 25 May 2021 09:24:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1621949054; bh=4dii+JXh09BeXSTpAlXnTcFEpBAD2fEe/q+Vyf1sKYc=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=Fp0FpdD6XqykvMqah/xPEDKj1w7IqrSmYHx7Q3oDW37Gb5fKU2Qnd7c3cdQCHWNIY ow3L7IreO59mFnGcorjWUL14LSZC/GxIvgjwHWvHgBkSF/tr5cgk/cWDYJIfwDpLuD f8jtcBI7dj37x2RiBGcwWFnnUbwYikdeCxHti63Y78VhXGjY4D3q0kIOnk7uacWdZM l8727d7sefEl7znPAZI3lf4ghCQQzv9yS69fUhj8vEQwTa90/yHrqGh98eTqAzvZJl LBfUoumTrziT5xXqe+/casBy05ugSoz08OItzDFd4EQW/ZKroWu7xiLiY9OQPZ08NR f1FUAICm/GtaA== Date: Tue, 25 May 2021 13:24:14 +0000 From: Gregory Heytings In-Reply-To: <83zgwjar91.fsf@gnu.org> Message-ID: References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> <835yz7c6p0.fsf@gnu.org> <83zgwjar91.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> There are three kind of bitmaps: >> >> 1. standard bitmaps not overridden by user-defined bitmaps >> 2. standard bitmaps overridden by user-defined bitmaps >> 3. user-defined bitmaps >> >> The first loop processes the bitmaps of the first kind, the second loop >> the bitmaps of the second and third kind. > > I'm asking why do we need to process the second kind here. That kind > was already set up when user initializations defined replacements for > those standard bitmaps. Right? So why do we need to set them up again? > What you write is correct when you call "emacs", not when you call "emacs --daemon". In the latter case the user-defined bitmaps have not yet been set up. It's explained in the comment: /* Set up user-defined fringe bitmaps that might have been defined before the frame of this kind was initialized. This can happen if Emacs is started as a daemon and the init files define fringe bitmaps. */ The code was written under the erroneous assumption that there are only two kind of bitmaps: standard bitmaps and user-defined bitmaps. Hence the bug that this patch fixes. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 May 2021 13:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Gregory Heytings Cc: larsi@gnus.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162195030926544 (code B ref 47832); Tue, 25 May 2021 13:46:01 +0000 Received: (at 47832) by debbugs.gnu.org; 25 May 2021 13:45:09 +0000 Received: from localhost ([127.0.0.1]:45044 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llXMr-0006u2-Ch for submit@debbugs.gnu.org; Tue, 25 May 2021 09:45:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43220) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1llXMp-0006tp-R9 for 47832@debbugs.gnu.org; Tue, 25 May 2021 09:45:08 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:45520) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1llXMk-0005oB-FS; Tue, 25 May 2021 09:45:02 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1298 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llXMh-0005ZN-P1; Tue, 25 May 2021 09:45:02 -0400 Date: Tue, 25 May 2021 16:45:00 +0300 Message-Id: <83sg2bapwj.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gregory Heytings on Tue, 25 May 2021 13:24:14 +0000) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> <835yz7c6p0.fsf@gnu.org> <83zgwjar91.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 25 May 2021 13:24:14 +0000 > From: Gregory Heytings > cc: larsi@gnus.org, 47832@debbugs.gnu.org > > > I'm asking why do we need to process the second kind here. That kind > > was already set up when user initializations defined replacements for > > those standard bitmaps. Right? So why do we need to set them up again? > > What you write is correct when you call "emacs", not when you call "emacs > --daemon". In the latter case the user-defined bitmaps have not yet been > set up. It's explained in the comment: > > /* Set up user-defined fringe bitmaps that might have been defined > before the frame of this kind was initialized. This can happen > if Emacs is started as a daemon and the init files define fringe > bitmaps. */ OK, but then perhaps we should only do that in a daemon? Or at least say in a comment there that the second loop does some redundant initializations except under --daemon. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 26 May 2021 13:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: gregory@heytings.org Cc: larsi@gnus.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162203566616105 (code B ref 47832); Wed, 26 May 2021 13:28:02 +0000 Received: (at 47832) by debbugs.gnu.org; 26 May 2021 13:27:46 +0000 Received: from localhost ([127.0.0.1]:47917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lltZZ-0004Bh-8H for submit@debbugs.gnu.org; Wed, 26 May 2021 09:27:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59780) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lltZX-0004BU-Je for 47832@debbugs.gnu.org; Wed, 26 May 2021 09:27:43 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33920) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lltZR-0004Q0-Rm; Wed, 26 May 2021 09:27:37 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1760 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lltZR-00075M-B0; Wed, 26 May 2021 09:27:37 -0400 Date: Wed, 26 May 2021 16:27:37 +0300 Message-Id: <83r1htaaly.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <83sg2bapwj.fsf@gnu.org> (message from Eli Zaretskii on Tue, 25 May 2021 16:45:00 +0300) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> <835yz7c6p0.fsf@gnu.org> <83zgwjar91.fsf@gnu.org> <83sg2bapwj.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 25 May 2021 16:45:00 +0300 > From: Eli Zaretskii > Cc: larsi@gnus.org, 47832@debbugs.gnu.org > > > Date: Tue, 25 May 2021 13:24:14 +0000 > > From: Gregory Heytings > > cc: larsi@gnus.org, 47832@debbugs.gnu.org > > > > > I'm asking why do we need to process the second kind here. That kind > > > was already set up when user initializations defined replacements for > > > those standard bitmaps. Right? So why do we need to set them up again? > > > > What you write is correct when you call "emacs", not when you call "emacs > > --daemon". In the latter case the user-defined bitmaps have not yet been > > set up. It's explained in the comment: > > > > /* Set up user-defined fringe bitmaps that might have been defined > > before the frame of this kind was initialized. This can happen > > if Emacs is started as a daemon and the init files define fringe > > bitmaps. */ > > OK, but then perhaps we should only do that in a daemon? Or at least > say in a comment there that the second loop does some redundant > initializations except under --daemon. Actually, I still think that either I misunderstand something, or disagree with what you say. So let me step back and explain what bothers me. AFAIR, the original bug was that the call to gui_init_fringe, made when the first GUI frame is created, would overwrite any standard bitmaps that were modified by previous calls to define-fringe-bitmap, because the first loop in gui_init_fringe re-installs the original standard bitmaps. Your original patch then fixed this by making the _second_ loop go over _all_ of the bitmaps, not just non-standard ones: diff --git a/src/fringe.c b/src/fringe.c index 65c9a84ac9..f2b60b5c8e 100644 --- a/src/fringe.c +++ b/src/fringe.c @@ -1783,7 +1783,7 @@ gui_init_fringe (struct redisplay_interface *rif) before the frame of this kind was initialized. This can happen if Emacs is started as a daemon and the init files define fringe bitmaps. */ - for ( ; bt < max_used_fringe_bitmap; bt++) + for (bt = NO_FRINGE_BITMAP + 1; bt < max_used_fringe_bitmap; bt++) { struct fringe_bitmap *fb = fringe_bitmaps[bt]; if (fb) This would reinstate the user-defined bitmaps for the standard ones. I responded saying that the original patch is sub-optimal: And in any case, the patch for gui_init_fringe is sub-optimal: it unnecessarily loops over the standard bitmaps that were superseded. It is better to leave the first loop go over the standard bitmaps, whether superseded or not, and the second loop go over non-standard bitmaps only. Then your modified patch attempted to fix this: diff --git a/src/fringe.c b/src/fringe.c index 65c9a84ac9..47615f51f9 100644 --- a/src/fringe.c +++ b/src/fringe.c @@ -1776,14 +1776,15 @@ gui_init_fringe (struct redisplay_interface *rif) for (bt = NO_FRINGE_BITMAP + 1; bt < MAX_STANDARD_FRINGE_BITMAPS; bt++) { struct fringe_bitmap *fb = &standard_bitmaps[bt]; - rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); + if (!fringe_bitmaps[bt]) + rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width); } /* Set up user-defined fringe bitmaps that might have been defined before the frame of this kind was initialized. This can happen if Emacs is started as a daemon and the init files define fringe bitmaps. */ - for ( ; bt < max_used_fringe_bitmap; bt++) + for (bt = NO_FRINGE_BITMAP + 1; bt < max_used_fringe_bitmap; bt++) { struct fringe_bitmap *fb = fringe_bitmaps[bt]; if (fb) With this patch, the first loop only modifies the standard bitmaps that were not defined by previous calls, for example by a previous call to define-fringe-bitmap. But the second loop still reinstalls the standard bitmaps, although they will no longer be overwritten by the first loop. So why should the second loop again start from the first bitmap, when we know that all the standard bitmaps are at that point set up correctly: either by the standard values or by modified user-defined values? If you disagree with my analysis, please describe the sequence of calls that would require the second loop to go over all the bitmaps again, and please describe in detail the effect of those calls on the fringe_bitmaps[] and standard_bitmaps[] arrays. The sequence of calls that I have in mind is as described in the original report of this bug: . define-fringe-bitmap is called in .emacs to modify the standard bitmaps . .emacs is read by a --daemon session of Emacs . emacsclient opens a GUI frame, which calls gui_init_fringe Thanks. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Gregory Heytings Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 27 May 2021 07:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Eli Zaretskii Cc: larsi@gnus.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162210075018927 (code B ref 47832); Thu, 27 May 2021 07:33:02 +0000 Received: (at 47832) by debbugs.gnu.org; 27 May 2021 07:32:30 +0000 Received: from localhost ([127.0.0.1]:50535 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmAVK-0004vD-H0 for submit@debbugs.gnu.org; Thu, 27 May 2021 03:32:30 -0400 Received: from heytings.org ([95.142.160.155]:38792) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmAVH-0004v1-OY for 47832@debbugs.gnu.org; Thu, 27 May 2021 03:32:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1622100746; bh=hDOjiXAU7WF1Vg3pF5CtZXEWWqkM1gXc8U81LqPtoc0=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=rOMCLYcY74ojrvgFlaq54bk0XrDizGBn2wFcdG6Q6OvL9Aj3zy1ZEfPu8YstNdXAf 9HIx9hPYqz89rS5nndkDkBhVWb60ErUbFKb/PyoSQC4L0F6fu4YwGJ3UTdIYmyWZV9 mOR0AlNw1QbEDZDGL91VV6OGMO4aNY/vgxT6PaWFahlVXUfwDPE6rFPF61d/aTH/qY jY3cCKoK6ym3zFs79sm7AqzDqzxA2wdap2NEiTaPDcrDwpsZeWoO8WC5umP+q1Cz8f TjoOUjk2L8HdxE6wZWp7R3E52lI2/7geTOUi6D3R/QcQCwEwhlrgWx++q1ppqwgTn6 vb41zBQmvn6Jg== Date: Thu, 27 May 2021 07:32:25 +0000 From: Gregory Heytings In-Reply-To: <83r1htaaly.fsf@gnu.org> Message-ID: References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> <835yz7c6p0.fsf@gnu.org> <83zgwjar91.fsf@gnu.org> <83sg2bapwj.fsf@gnu.org> <83r1htaaly.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > > Actually, I still think that either I misunderstand something, or > disagree with what you say. So let me step back and explain what > bothers me. > Thanks for your detailed comments. I will have another look at this next week. From unknown Fri Jun 20 07:15:02 2025 X-Loop: help-debbugs@gnu.org Subject: bug#47832: 28.0.50; define-fringe-bitmap and emacs --daemon Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 27 May 2021 09:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47832 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: fixed patch To: Gregory Heytings Cc: larsi@gnus.org, 47832@debbugs.gnu.org Received: via spool by 47832-submit@debbugs.gnu.org id=B47832.162210813130356 (code B ref 47832); Thu, 27 May 2021 09:36:01 +0000 Received: (at 47832) by debbugs.gnu.org; 27 May 2021 09:35:31 +0000 Received: from localhost ([127.0.0.1]:50685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmCQN-0007tY-6D for submit@debbugs.gnu.org; Thu, 27 May 2021 05:35:31 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54974) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lmCQM-0007tH-AN for 47832@debbugs.gnu.org; Thu, 27 May 2021 05:35:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:39314) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lmCQG-0008EN-6i; Thu, 27 May 2021 05:35:24 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4829 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lmCQF-0006uf-QM; Thu, 27 May 2021 05:35:24 -0400 Date: Thu, 27 May 2021 12:35:28 +0300 Message-Id: <83zgwg8qov.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Gregory Heytings on Thu, 27 May 2021 07:32:25 +0000) References: <7dee3f4235cf450a3254@heytings.org> <83mttxwgm8.fsf@gnu.org> <1869622e16688e6aedec@heytings.org> <83h7k5w54l.fsf@gnu.org> <83fszpw40t.fsf@gnu.org> <1869622e16c60dc2ce0d@heytings.org> <83eef9w0xd.fsf@gnu.org> <1869622e16270efbc7e8@heytings.org> <87im3778ao.fsf@gnus.org> <83eedvc9jm.fsf@gnu.org> <835yz7c6p0.fsf@gnu.org> <83zgwjar91.fsf@gnu.org> <83sg2bapwj.fsf@gnu.org> <83r1htaaly.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Thu, 27 May 2021 07:32:25 +0000 > From: Gregory Heytings > cc: larsi@gnus.org, 47832@debbugs.gnu.org > > > Actually, I still think that either I misunderstand something, or > > disagree with what you say. So let me step back and explain what > > bothers me. > > Thanks for your detailed comments. I will have another look at this next > week. Sure, no rush.