From unknown Sat Aug 09 04:59:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#76760: 31.0.50; Tab bar not updating on text property changes Resent-From: Pengji Zhang Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Mar 2025 09:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 76760 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 76760@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17411678255433 (code B ref -1); Wed, 05 Mar 2025 09:44:01 +0000 Received: (at submit) by debbugs.gnu.org; 5 Mar 2025 09:43:45 +0000 Received: from localhost ([127.0.0.1]:35328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tplI1-0001PY-2X for submit@debbugs.gnu.org; Wed, 05 Mar 2025 04:43:45 -0500 Received: from lists.gnu.org ([2001:470:142::17]:60782) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tplHv-0001P7-Qk for submit@debbugs.gnu.org; Wed, 05 Mar 2025 04:43:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tplHo-0002hh-CI for bug-gnu-emacs@gnu.org; Wed, 05 Mar 2025 04:43:32 -0500 Received: from fhigh-b2-smtp.messagingengine.com ([202.12.124.153]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tplHm-0004Fc-6O for bug-gnu-emacs@gnu.org; Wed, 05 Mar 2025 04:43:32 -0500 Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42]) by mailfhigh.stl.internal (Postfix) with ESMTP id 712552540175 for ; Wed, 5 Mar 2025 04:43:27 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Wed, 05 Mar 2025 04:43:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pengjiz.com; h= cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm2; t=1741167807; x=1741254207; bh=Nk218ulIk8Myr13HJIORLrwr5bacAYml 7n7etwGY31Q=; b=GdnHw2hioqJ4MURMh3lNo8COokwmTBN6hJg2b9OOg5Meb8QD 58iubyphRBlJg59Z5xdNQmmJ0AoJDVxZlRSQBpEb626Wy3s3zrJyfPY8edJvuzMl hrzXnjS7ByAWZHjyOwA3XV13tzO54pwqY1JLXvQ+qxo29prK0JqIvIDoYFjfHjWE 2SoMnKo5b1b3YX17GghNNM0goTkPdklrTAH4vvsB7YGutBdasxT4c0xMFcPKMo+C QdLq7tJ0PItu7xgx9JCxbAtLfVUwUwQQg1jkUAh9PMdp3fyWqDCSw00aYbG91+ji caBetCvnFFCahXYBi+MCi8xwAqFwYtOHfhnlrg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1741167807; x= 1741254207; bh=Nk218ulIk8Myr13HJIORLrwr5bacAYml7n7etwGY31Q=; b=7 uJHID0fHPxM9vGpTc6i2Ltm1CrvMqZ95HzZv2iSbZR+5cgn0JJAwuzWdxVbWcFaC 0z1aMD4Q/29nobmDGePTGKk3ZA7b6lQxlfqjsbz1w/TfwDwEBiFA1z9+yCli7P3D VoYdCPHMl2P1+AC/WLI2FptX9DBOD11b8W3J3sEtlgPZURBkLbxSGhOJLrL8Lhcs 7XBCuTrK0aOx9DrQlyLn9u+NmxmAmqxgNcXkR7MGMa6sGEAdpXvg128+x7yQsFn4 f96naIhbVhasa30lxTIAvyVElVectO0G5AultY6aPZOK2xLQmJlMuf7WaRVb+5DN Db2sQ9GiE8xqCaplJobCA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddutdeggeelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf fufffkgggtsehttdertddttddtnecuhfhrohhmpefrvghnghhjihcukghhrghnghcuoehm vgesphgvnhhgjhhiiidrtghomheqnecuggftrfgrthhtvghrnheptdfhjeekueduleevff elffelhfeuueeufeehkeefteeuhfeiffethfdvhfevuedvnecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgvsehpvghnghhjihiirdgtohhmpd hnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegsuhhg qdhgnhhuqdgvmhgrtghssehgnhhurdhorhhg X-ME-Proxy: Feedback-ID: i16614472:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 5 Mar 2025 04:43:26 -0500 (EST) From: Pengji Zhang Date: Wed, 05 Mar 2025 17:43:15 +0800 Message-ID: <87ikon95jg.fsf@pengjiz.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=202.12.124.153; envelope-from=me@pengjiz.com; helo=fhigh-b2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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: -0.3 (/) Hello! I found that currently a frame does not update the tab bar on text property changes. For example: - Start *GUI* Emacs with 'emacs -Q' - Evaluate the following snippet: --8<---------------cut here---------------start------------->8--- (push #'tab-bar-format-global tab-bar-format) (tab-bar-mode) (read-passwd "Prompt: ") --8<---------------cut here---------------end--------------->8--- - Press TAB while in the minibuffer. Notice that the eye icon at the beginning of the tab bar does not change at all, while it should switch to the other icon. Presumably this is due to the check starting at L14369 of 'src/xdisp.c': /* Redisplay the tab-bar if we changed it. */ if (new_n_tab_bar != f->n_tab_bar_items || NILP (Fequal (new_tab_bar, f->tab_bar_items))) {...} Text properties of strings are not examined in 'Fequal', so the old and the new bars are considered the same. Thanks! In GNU Emacs 31.0.50 (build 71, x86_64-pc-linux-gnu, GTK+ Version 3.24.48, cairo version 1.18.2) Repository revision: fe7a8c92be6269f8fc7933eb6c190178839d0f8a Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101016 System Description: Arch Linux Configured using: 'configure --disable-build-details' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t tab-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug lisp-mnt message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils auth-source cl-seq eieio eieio-core cl-macs password-cache json map byte-opt gv subr-x comp-run bytecomp byte-compile comp-common rx icons cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 73089 11379) (symbols 48 7060 0) (strings 32 18927 2897) (string-bytes 1 596210) (vectors 16 12730) (vector-slots 8 167990 9957) (floats 8 28 18) (intervals 56 392 87) (buffers 992 12)) From unknown Sat Aug 09 04:59:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#76760: 31.0.50; Tab bar not updating on text property changes Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Mar 2025 13:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76760 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Pengji Zhang , Juri Linkov Cc: 76760@debbugs.gnu.org Received: via spool by 76760-submit@debbugs.gnu.org id=B76760.174118217620489 (code B ref 76760); Wed, 05 Mar 2025 13:43:02 +0000 Received: (at 76760) by debbugs.gnu.org; 5 Mar 2025 13:42:56 +0000 Received: from localhost ([127.0.0.1]:36171 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tpp1U-0005KP-74 for submit@debbugs.gnu.org; Wed, 05 Mar 2025 08:42:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:37362) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tpp1R-0005K6-44 for 76760@debbugs.gnu.org; Wed, 05 Mar 2025 08:42:54 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tpp1K-0006Cw-EQ; Wed, 05 Mar 2025 08:42:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=aGVXq2jj8BeVteqpcfx6UQJk1JhXVyr9hhdbAmat54I=; b=G3A/WOaEb0iZ Us16sN7Q27QnKcqBfzZubJyQQftKYKfuZCb+R2LW2xfeghVf1FQwpzQHUGwV2i/Rozz8glpuLxIKD 82EzZ89ObNQfvA6bDWcDad35K8X4fFUHVtPolzb1wfPegINrnE9jacj5wkJzoxmc4r8Ej1YgqBdhi MNaFFsCPkkTVf/q1Gb1FcJJkwLAc+45ZIh8KVb/r49JdmCF+G29awrAAUyK9IQDjpXxIr7IwSaPlJ anNqbxE1HkZkBZ/65daIlDgMEVbKnslFz3ho38RmeJJZX63aOL0TpYHDcIabQ4A2fN7Cqvk92fDiI DNxFzmGbgWfmnNVrfhxWgg==; Date: Wed, 05 Mar 2025 15:42:41 +0200 Message-Id: <86y0xjoapa.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87ikon95jg.fsf@pengjiz.com> (message from Pengji Zhang on Wed, 05 Mar 2025 17:43:15 +0800) References: <87ikon95jg.fsf@pengjiz.com> 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: Pengji Zhang > Date: Wed, 05 Mar 2025 17:43:15 +0800 > > I found that currently a frame does not update the tab bar on text > property changes. For example: > > - Start *GUI* Emacs with 'emacs -Q' > - Evaluate the following snippet: > > --8<---------------cut here---------------start------------->8--- > (push #'tab-bar-format-global tab-bar-format) > (tab-bar-mode) > (read-passwd "Prompt: ") > --8<---------------cut here---------------end--------------->8--- > > - Press TAB while in the minibuffer. > > Notice that the eye icon at the beginning of the tab bar does not change > at all, while it should switch to the other icon. > > Presumably this is due to the check starting at L14369 of 'src/xdisp.c': > > /* Redisplay the tab-bar if we changed it. */ > if (new_n_tab_bar != f->n_tab_bar_items > || NILP (Fequal (new_tab_bar, f->tab_bar_items))) > {...} > > Text properties of strings are not examined in 'Fequal', so the old and > the new bars are considered the same. This can be easily modified to use equal-including-properties, as below, but I wonder whether this perhaps could cause too-eager redisplay of the tab bar in some cases where we don't want. Juri, WDYT? diff --git a/src/xdisp.c b/src/xdisp.c index 55c764f..b18e193 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -14368,7 +14368,8 @@ update_tab_bar (struct frame *f, bool save_match_data) /* Redisplay the tab-bar if we changed it. */ if (new_n_tab_bar != f->n_tab_bar_items - || NILP (Fequal (new_tab_bar, f->tab_bar_items))) + || NILP (Fequal_including_properties (new_tab_bar, + f->tab_bar_items))) { /* Redisplay that happens asynchronously due to an expose event may access f->tab_bar_items. Make sure we update both From unknown Sat Aug 09 04:59:13 2025 X-Loop: help-debbugs@gnu.org Subject: bug#76760: 31.0.50; Tab bar not updating on text property changes Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 05 Mar 2025 17:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76760 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Eli Zaretskii Cc: 76760@debbugs.gnu.org, Pengji Zhang Received: via spool by 76760-submit@debbugs.gnu.org id=B76760.174119542112377 (code B ref 76760); Wed, 05 Mar 2025 17:24:02 +0000 Received: (at 76760) by debbugs.gnu.org; 5 Mar 2025 17:23:41 +0000 Received: from localhost ([127.0.0.1]:39467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tpsT6-0003DZ-HA for submit@debbugs.gnu.org; Wed, 05 Mar 2025 12:23:40 -0500 Received: from relay9-d.mail.gandi.net ([2001:4b98:dc4:8::229]:42531) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tpsSm-0003Cl-2z for 76760@debbugs.gnu.org; Wed, 05 Mar 2025 12:23:20 -0500 Received: by mail.gandi.net (Postfix) with ESMTPSA id B28774328F; Wed, 5 Mar 2025 17:23:11 +0000 (UTC) From: Juri Linkov In-Reply-To: <86y0xjoapa.fsf@gnu.org> Organization: LINKOV.NET References: <87ikon95jg.fsf@pengjiz.com> <86y0xjoapa.fsf@gnu.org> Date: Wed, 05 Mar 2025 19:21:16 +0200 Message-ID: <87msdzbdgz.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddutdehgedvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvfevufgjohhffffkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucggtffrrghtthgvrhhnpeffgeetfeevlefhleejfeeuheeiudeitdffhfdutdekfeffgffhveehteegueekheenucfkphepledurdduvdelrddutdehrdduudejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepledurdduvdelrddutdehrdduudejpdhhvghlohepmhgrihhlrdhgrghnughirdhnvghtpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhgspghrtghpthhtohepfedprhgtphhtthhopeejieejiedtseguvggssghughhsrdhgnhhurdhorhhgpdhrtghpthhtohepmhgvsehpvghnghhjihiirdgtohhmpdhrtghpthhtohepvghlihiisehgnhhurdhorhhg X-GND-Sasl: juri@linkov.net 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 (-) >> /* Redisplay the tab-bar if we changed it. */ >> if (new_n_tab_bar != f->n_tab_bar_items >> || NILP (Fequal (new_tab_bar, f->tab_bar_items))) >> {...} >> >> Text properties of strings are not examined in 'Fequal', so the old and >> the new bars are considered the same. > > This can be easily modified to use equal-including-properties, as > below, but I wonder whether this perhaps could cause too-eager > redisplay of the tab bar in some cases where we don't want. Juri, > WDYT? I don't remember such a property that changes too often that would cause frequent redisplay of the tab bar. So this looks like the right thing to do. From unknown Sat Aug 09 04:59:13 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Pengji Zhang Subject: bug#76760: closed (Re: bug#76760: 31.0.50; Tab bar not updating on text property changes) Message-ID: References: <86zfhymtg1.fsf@gnu.org> <87ikon95jg.fsf@pengjiz.com> X-Gnu-PR-Message: they-closed 76760 X-Gnu-PR-Package: emacs Reply-To: 76760@debbugs.gnu.org Date: Thu, 06 Mar 2025 08:54:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1741251242-9288-1" This is a multi-part message in MIME format... ------------=_1741251242-9288-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #76760: 31.0.50; Tab bar not updating on text property changes which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 76760@debbugs.gnu.org. --=20 76760: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D76760 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1741251242-9288-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 76760-done) by debbugs.gnu.org; 6 Mar 2025 08:53:18 +0000 Received: from localhost ([127.0.0.1]:41436 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tq6yk-0002Oa-Cu for submit@debbugs.gnu.org; Thu, 06 Mar 2025 03:53:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51662) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tq6yh-0002OH-C2 for 76760-done@debbugs.gnu.org; Thu, 06 Mar 2025 03:53:16 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tq6ya-0004NR-Un; Thu, 06 Mar 2025 03:53:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=tRur6bmyP81QJyN6SUWaSwSrhZkmAeZtPNqcdktDZ5s=; b=XqIfBmO5qa3Z XTS+lLWhqsR+pMIk7zAHoG4fZvZgJytzDbnA7MluHIjP9rRZxxIaCux17bJqG7YwZo9btTdnAdClc e7RLH2CzX7OoZZTINxD8on3oUPr3hf7QmiehNCiOFTee52vCE2Ths1mFkqdA50L9RqZz6lxbAa/4X cHgQVe77Cj0araneCMdhsju4awSZnV72gVpWB0nyaAzmm2wx5mgRRCrAU3AvoJu4C4lzZI1CDzrPx w9DryyiEQQ85WqZxVWRMYppV0b4KSMk14rwYwFF1+PVFj1n9GlugZ4bqyRYt3KJ3ZDXhUhcYif3nj 84oukriTnj8tqQk2f+hnrg==; Date: Thu, 06 Mar 2025 10:53:02 +0200 Message-Id: <86zfhymtg1.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-Reply-To: <87msdzbdgz.fsf@mail.linkov.net> (message from Juri Linkov on Wed, 05 Mar 2025 19:21:16 +0200) Subject: Re: bug#76760: 31.0.50; Tab bar not updating on text property changes References: <87ikon95jg.fsf@pengjiz.com> <86y0xjoapa.fsf@gnu.org> <87msdzbdgz.fsf@mail.linkov.net> X-Spam-Score: -1.6 (-) X-Debbugs-Envelope-To: 76760-done Cc: 76760-done@debbugs.gnu.org, me@pengjiz.com 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.6 (--) > From: Juri Linkov > Cc: Pengji Zhang , 76760@debbugs.gnu.org > Date: Wed, 05 Mar 2025 19:21:16 +0200 > > >> /* Redisplay the tab-bar if we changed it. */ > >> if (new_n_tab_bar != f->n_tab_bar_items > >> || NILP (Fequal (new_tab_bar, f->tab_bar_items))) > >> {...} > >> > >> Text properties of strings are not examined in 'Fequal', so the old and > >> the new bars are considered the same. > > > > This can be easily modified to use equal-including-properties, as > > below, but I wonder whether this perhaps could cause too-eager > > redisplay of the tab bar in some cases where we don't want. Juri, > > WDYT? > > I don't remember such a property that changes too often > that would cause frequent redisplay of the tab bar. > So this looks like the right thing to do. Thanks, installed on the master branch, and closing the bug. ------------=_1741251242-9288-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 5 Mar 2025 09:43:45 +0000 Received: from localhost ([127.0.0.1]:35328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tplI1-0001PY-2X for submit@debbugs.gnu.org; Wed, 05 Mar 2025 04:43:45 -0500 Received: from lists.gnu.org ([2001:470:142::17]:60782) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tplHv-0001P7-Qk for submit@debbugs.gnu.org; Wed, 05 Mar 2025 04:43:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tplHo-0002hh-CI for bug-gnu-emacs@gnu.org; Wed, 05 Mar 2025 04:43:32 -0500 Received: from fhigh-b2-smtp.messagingengine.com ([202.12.124.153]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tplHm-0004Fc-6O for bug-gnu-emacs@gnu.org; Wed, 05 Mar 2025 04:43:32 -0500 Received: from phl-compute-02.internal (phl-compute-02.phl.internal [10.202.2.42]) by mailfhigh.stl.internal (Postfix) with ESMTP id 712552540175 for ; Wed, 5 Mar 2025 04:43:27 -0500 (EST) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-02.internal (MEProxy); Wed, 05 Mar 2025 04:43:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pengjiz.com; h= cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm2; t=1741167807; x=1741254207; bh=Nk218ulIk8Myr13HJIORLrwr5bacAYml 7n7etwGY31Q=; b=GdnHw2hioqJ4MURMh3lNo8COokwmTBN6hJg2b9OOg5Meb8QD 58iubyphRBlJg59Z5xdNQmmJ0AoJDVxZlRSQBpEb626Wy3s3zrJyfPY8edJvuzMl hrzXnjS7ByAWZHjyOwA3XV13tzO54pwqY1JLXvQ+qxo29prK0JqIvIDoYFjfHjWE 2SoMnKo5b1b3YX17GghNNM0goTkPdklrTAH4vvsB7YGutBdasxT4c0xMFcPKMo+C QdLq7tJ0PItu7xgx9JCxbAtLfVUwUwQQg1jkUAh9PMdp3fyWqDCSw00aYbG91+ji caBetCvnFFCahXYBi+MCi8xwAqFwYtOHfhnlrg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1741167807; x= 1741254207; bh=Nk218ulIk8Myr13HJIORLrwr5bacAYml7n7etwGY31Q=; b=7 uJHID0fHPxM9vGpTc6i2Ltm1CrvMqZ95HzZv2iSbZR+5cgn0JJAwuzWdxVbWcFaC 0z1aMD4Q/29nobmDGePTGKk3ZA7b6lQxlfqjsbz1w/TfwDwEBiFA1z9+yCli7P3D VoYdCPHMl2P1+AC/WLI2FptX9DBOD11b8W3J3sEtlgPZURBkLbxSGhOJLrL8Lhcs 7XBCuTrK0aOx9DrQlyLn9u+NmxmAmqxgNcXkR7MGMa6sGEAdpXvg128+x7yQsFn4 f96naIhbVhasa30lxTIAvyVElVectO0G5AultY6aPZOK2xLQmJlMuf7WaRVb+5DN Db2sQ9GiE8xqCaplJobCA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddutdeggeelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhvf fufffkgggtsehttdertddttddtnecuhfhrohhmpefrvghnghhjihcukghhrghnghcuoehm vgesphgvnhhgjhhiiidrtghomheqnecuggftrfgrthhtvghrnheptdfhjeekueduleevff elffelhfeuueeufeehkeefteeuhfeiffethfdvhfevuedvnecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgvsehpvghnghhjihiirdgtohhmpd hnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgtphhtthhopegsuhhg qdhgnhhuqdgvmhgrtghssehgnhhurdhorhhg X-ME-Proxy: Feedback-ID: i16614472:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 5 Mar 2025 04:43:26 -0500 (EST) From: Pengji Zhang To: bug-gnu-emacs@gnu.org Subject: 31.0.50; Tab bar not updating on text property changes Date: Wed, 05 Mar 2025 17:43:15 +0800 Message-ID: <87ikon95jg.fsf@pengjiz.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=202.12.124.153; envelope-from=me@pengjiz.com; helo=fhigh-b2-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit 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: -0.3 (/) Hello! I found that currently a frame does not update the tab bar on text property changes. For example: - Start *GUI* Emacs with 'emacs -Q' - Evaluate the following snippet: --8<---------------cut here---------------start------------->8--- (push #'tab-bar-format-global tab-bar-format) (tab-bar-mode) (read-passwd "Prompt: ") --8<---------------cut here---------------end--------------->8--- - Press TAB while in the minibuffer. Notice that the eye icon at the beginning of the tab bar does not change at all, while it should switch to the other icon. Presumably this is due to the check starting at L14369 of 'src/xdisp.c': /* Redisplay the tab-bar if we changed it. */ if (new_n_tab_bar != f->n_tab_bar_items || NILP (Fequal (new_tab_bar, f->tab_bar_items))) {...} Text properties of strings are not examined in 'Fequal', so the old and the new bars are considered the same. Thanks! In GNU Emacs 31.0.50 (build 71, x86_64-pc-linux-gnu, GTK+ Version 3.24.48, cairo version 1.18.2) Repository revision: fe7a8c92be6269f8fc7933eb6c190178839d0f8a Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101016 System Description: Arch Linux Configured using: 'configure --disable-build-details' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t tab-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug lisp-mnt message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils auth-source cl-seq eieio eieio-core cl-macs password-cache json map byte-opt gv subr-x comp-run bytecomp byte-compile comp-common rx icons cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process tty-child-frames native-compile emacs) Memory information: ((conses 16 73089 11379) (symbols 48 7060 0) (strings 32 18927 2897) (string-bytes 1 596210) (vectors 16 12730) (vector-slots 8 167990 9957) (floats 8 28 18) (intervals 56 392 87) (buffers 992 12)) ------------=_1741251242-9288-1--