From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stephen Berman via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#69942: 30.0.50; Fontification of radio-button widget labels Date: Sat, 25 May 2024 11:29:28 +0200 Message-ID: <877cfi9r47.fsf@gmx.net> References: <87frwinw9c.fsf@rub.de> <864jcy1dt3.fsf@gnu.org> <259fef2b-e0bf-46c4-8b42-5e26f906accb@gmail.com> <87v85bqxfv.fsf@gmx.net> <87msqnqh2z.fsf@gmx.net> <871q7pw1l4.fsf@gmx.net> <861q7i50f3.fsf@gnu.org> <3c8e0d62-4a92-413f-9064-a06514948860@gmail.com> <8634rjf2il.fsf@gnu.org> <5d36ff4c-fea8-4f64-b401-1351f91446a1@gmail.com> <877cguhjux.fsf@gmx.net> <87y196lctq.fsf@gmx.net> <87o79wl28x.fsf@gmx.net> <86zfsz78lg.fsf@gnu.org> <868qzy1gp7.fsf@gnu.org> Reply-To: Stephen Berman Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13861"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 69942@debbugs.gnu.org, maurooaranda@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat May 25 11:30:08 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sAnj6-0003Jc-Oo for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 25 May 2024 11:30:08 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sAniu-0004Am-KJ; Sat, 25 May 2024 05:29:56 -0400 Original-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 1sAnit-0004AT-CA for bug-gnu-emacs@gnu.org; Sat, 25 May 2024 05:29:55 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sAnit-0003Rp-4A for bug-gnu-emacs@gnu.org; Sat, 25 May 2024 05:29:55 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sAnj0-00051w-Gy for bug-gnu-emacs@gnu.org; Sat, 25 May 2024 05:30:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stephen Berman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 May 2024 09:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69942 X-GNU-PR-Package: emacs Original-Received: via spool by 69942-submit@debbugs.gnu.org id=B69942.171662938719302 (code B ref 69942); Sat, 25 May 2024 09:30:02 +0000 Original-Received: (at 69942) by debbugs.gnu.org; 25 May 2024 09:29:47 +0000 Original-Received: from localhost ([127.0.0.1]:42340 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAnik-00051G-C1 for submit@debbugs.gnu.org; Sat, 25 May 2024 05:29:46 -0400 Original-Received: from mout.gmx.net ([212.227.17.21]:55821) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAnih-00051A-PT for 69942@debbugs.gnu.org; Sat, 25 May 2024 05:29:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1716629370; x=1717234170; i=stephen.berman@gmx.net; bh=zQ97Jv+aM9czM89NQag8ikr6mUNWLs9Vtu+hGxY2Z3Y=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=ZDyKHfe4aHb7PTJDs3GdaFIDuVQuIBvqNIvxKZZypTTdQukFYkMdGviRCLANkuTk pP0kx8H8kCJhuivI4CK8lg4fsgYm/DGD3vASyy4DCSp+gzRprzsPNew+SLPVw5MyX CLa7eACovJAMGCOCD+AcRQVaeI09+xmdt2VmkAufKqxNIdB3sXQ0tGYiH3DMPsSGt 98Zm1hW8Wfk7ANWSi3selo4gSABkRGu52b0aywaaTBa+p7e+olT1+6/dH6dNizKlg Zu5qb5yN3laQiA7VnVI0HxEZaPebtJaLf/J61jDaZN2NhdlCJ4gAyxlGcDgaEKI+A oh78Nvodsu/4+YQ6Sw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from strobelfs ([94.134.95.181]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N5mKJ-1sZB0k2zff-015rVu; Sat, 25 May 2024 11:29:29 +0200 In-Reply-To: <868qzy1gp7.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 25 May 2024 10:41:40 +0300") X-Provags-ID: V03:K1:Bav3O5jPlu0rAgGO7HteEys4ME3zu6OtYRfAgGz2dPe1V3GypuQ feH18iYRpDsmnwVn/fkRsRTELKWT8Ab1jZiGBsFdkz06gxVmf1DfQ73IJjktyl/1gtia/26 pwxFnKAVHOhr8pm0U2cZCRAqv/2ZjxqS6Mxm2hmIB+SEhgOVf1FsauNZC3Kc7IYKzrBPLbP Zhxtf8lhTRcKcjUoHjfpQ== UI-OutboundReport: notjunk:1;M01:P0:DRkmcjkqm6c=;UTSKex6/R23i3reIxfvHYSgUGG1 la3TzM6K8FWoZYYBxu7u7VmqNhO9FvWUT/SE5GXGDGS7GNvXhK1gG16PRnUf56hoEfzKnIhEL cfwkfMLQif7pq57id+3kjDqHxjrKSdrtzc7oRZWk0y51khgcR/OdeVHwFILnL2xQWtoaXp+K0 Xa3LqIPDAihE9sUXU3UrNDpH/u8TQC74iivSDZagINN8jJsDQZCSnEWMmnD7KP7enE1QLUeHX xQC1HiChBW57a3jDLkGq0Z2WJLHZPR0mkn6wjnxcV1DG+DDX98JB3CY/sow9YR4FlCV6OR/ch 8VkXYUchu794Cm1EB5wnIGyJD4MeunPzRZperizH17tXDw54g3IHOdpAXLTh6dJC3JR2Yg5WQ J0xseBcQD5YmZyLIpY+bvkbqz7uxHTisuAKAu7YOWQPF1mAX4rKRBn07BMbbzvtD5Y/1L13Yr gzshDbGPD4fW09CCd+ork2qUwuZyd7DqCJy05y8gD8vnFO65xtK7JfyhEdeoJr85ICZxX8Qwg Ck7/3O6NuBxwG16aVBPtuxEx24aOxFkTE1/RkHNDs3/Jau+fqhFkYKcvgvi3o7UoTtevz5exk jHIlNT4y79UK5EhiFwQTQf2Krc5VfAqJOxfTZaQ6p5iQ/2luFv8VvRUY0Rep5kJO6kQpIGmeK FEe715Rg2J49PeynpYVN664+EPGhOJq+t+8rlhbEBXlwwxJYBRju7h+t9ceFQt2SxkObRsvvY SR3LLQgqFc4H4W6w5RexcOYRcH0RhvpyagTX+jpOMBhsGBIvhO/fV+J6ELPtUuHv1kFOf9lo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:285846 Archived-At: On Sat, 25 May 2024 10:41:40 +0300 Eli Zaretskii wrote: > Ping! Ping! Can we please make some progress here? I haven't noticed any problems with the current version of the patch, so if it were up to me, I'd install it. (The caveat about my ignorance of widget-inline-p remains, however.) Steve Berman >> Cc: 69942@debbugs.gnu.org, maurooaranda@gmail.com >> Date: Thu, 09 May 2024 10:22:35 +0300 >> From: Eli Zaretskii >>=20 >> Ping! Any further comments, or is there agreement to install the >> proposed patch? >>=20 >> > From: Stephen Berman >> > Cc: Eli Zaretskii , 69942@debbugs.gnu.org >> > Date: Fri, 26 Apr 2024 14:47:26 +0200 >> >=20 >> > On Sun, 21 Apr 2024 21:45:21 +0200 Stephen Berman wrote: >> >=20 >> > > On Thu, 18 Apr 2024 15:37:58 +0200 Stephen Berman >> > > wrote: >> > > >> > >> On Thu, 18 Apr 2024 07:07:43 -0300 Mauro Aranda >> > >> wrote: >> > >> >> > >>> Eli Zaretskii writes: >> > >>> >> > >>>>> Date: Mon, 8 Apr 2024 07:58:44 -0300 >> > >>>>> Cc: 69942@debbugs.gnu.org >> > >>>>> From: Mauro Aranda >> > >>>>> >> > >>>>> On 6/4/24 06:02, Eli Zaretskii wrote: >> > >>>>>=C2=A0 >> From: Stephen Berman >> > >>>>>=C2=A0 >> Cc: Eli Zaretskii , 69942@debbugs.gnu.org >> > >>>>>=C2=A0 >> Date: Mon, 01 Apr 2024 17:21:27 +0200 >> > >>>>>=C2=A0 >> >> > >>>>>=C2=A0 >> On Mon, 25 Mar 2024 01:40:36 +0100 Stephen Berman >> > >>>>> wrote: >> > >>>>>=C2=A0 >> >> > >>>>>=C2=A0 >>> Ok, I've gotten further with implementing disinguishin= g by faces >> > >>>>>=C2=A0 >>> selected (chosen) and unselected radio buttons in radi= o-button-choice >> > >>>>>=C2=A0 >>> widgets and check boxes in checklist widgets, see the = attached patch. >> > >>>>>=C2=A0 >>> Initial tests seem ok, but it definitely needs more te= sting. >> > >>>>>=C2=A0 >> >> > >>>>>=C2=A0 >> Any comments on this patch for using a widget-unselecte= d face?=C2=A0 I have >> > >>>>>=C2=A0 >> been detained from further testing this past week, but = can now resume. >> > >>>>>=C2=A0 > >> > >>>>>=C2=A0 > Mauro, any further comments? >> > >>>>> >> > >>>>> Hi Eli and Stephen, >> > >>>>> >> > >>>>> Please forgive me, for the past 2 weeks I haven't been able to d= o any >> > >>>>> computer stuff.=C2=A0 If it's OK, please give me until the weeke= nd so I >> > >>>>> can catch up with this and the other 2 bug reports by Stephen. >> > >>>> >> > >>>> Mauro, were you able to find time to look into this and the other= 2 >> > >>>> bugs? >> > >>> >> > >>> I have, just now.=C2=A0 The patch looks good to me.=C2=A0 It'll be= great if >> > >>> Stephen can add some documentation to the manual, so it stays upda= ted. >> > >>> If not, I can do that in a few days. >> > >> >> > >> Sure, I'll add documentation and post it here for approval before >> > >> pushing the changes. >> > > >> > > I've encountered some problems with the patch. One is that it breaks >> > > the display of all face attributes in the customize-face buffer. I'= ve >> > > determined the part of the patch that triggers this, though I haven't >> > > yet figured out just why this bit of code breaks the display. Also,= it >> > > appears that the widget-unselected face does not completely replace >> > > widget-inactive where it's intended to do so, but I need to do more >> > > testing and debugging here to find out why. Until I've fixed these >> > > issues the patch is not suitable for installing, so I'm also holding= off >> > > with the accompanying documentation. (But in preparation for the >> > > documentation I looked more closely at the Widget manual and found >> > > several typos and other issues, for which I opened bug#70502.) >> >=20 >> > The breakage in displaying all face attributes in the customize-face >> > buffer was caused by the invocation of `(widget-specify-selected child= )' >> > in widget-checklist-add-item in the cond-clause satisfying >> > `(widget-inline-p type t)'. I still don't understand why it has this >> > effect, and I have to admit that I don't understand what an inline >> > widget is. But simply omitting the invocation of >> > `(widget-specify-selected child)' at this point in the patch does avoid >> > the customize-face breakage and I have not noticed any problems due to >> > this omission. >> >=20 >> > As for the problematic interaction between the widget-unselected and >> > widget-inactive faces, this seems to have been due to my having copied >> > most of the definition of widget-specify-unselected from that of >> > widget-specify-inactive, and specifically, copying the overlay priorit= y. >> > In the attached patch, widget-specify-unselected now uses a lower >> > overlay priority than the one used in widget-specify-inactive, and in = my >> > tests this yields the desired results: the labels of active checkboxes >> > and radio-buttons have widget-unselected face but when these widgets a= re >> > deactivated, the labels have widget-inactive face. >> >=20 >> > Another change I've made in the attached patch is to have the default >> > value of widget-unselected face inherit from widget-inactive instead of >> > inheriting from shadow face, like widget-inactive does by default. Th= is >> > way, if a user customizes widget-inactive, that will also apply by >> > default to widget-unselected, thus retaining the current default widget >> > UI where the labels of checkboxes and radio-buttons have widget-inacti= ve >> > face. (Thus, the "desired results" in the preceding paragraph are only >> > visible when widget-unselected face is customized to differ from >> > widget-unselected face.) >> >=20 >> > Finally, regarding documentation of widget-unselected face in the Widg= et >> > manual, I think it would be helpful for the documentation to mention t= he >> > use case that motivated introducing it (following Mauro's suggestion to >> > use a face instead of a defcustom), namely, to visually distinguish the >> > labels of unselected and inactive widgets. Here is what I suggest: >> >=20 >> > @deffn Face widget-unselected >> > Face used for unselected widgets. This face is also used on the text >> > labels of radio-button and checkbox widgets. >> >=20 >> > The default value inherits @code{widget-inactive} face. If you want to >> > visually distinguish the labels of unselected active radio-button or >> > checkbox widgets from the labels of unselected inactive widgets, >> > customize this face to a non-default value. >> > @end deffn >> >=20 >> > Since the recent widget.texi changes that include documenting >> > widget-inactive face have not yet been merged to master, I haven't >> > included the propopsed documentaton of widget-unselected in the attach= ed >> > patch, but if approved, will of course add it after the merge. >> >=20 >> > Steve Berman >>=20 >>=20 >>=20 >>=20