all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stephen Berman via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 69942@debbugs.gnu.org, maurooaranda@gmail.com
Subject: bug#69942: 30.0.50; Fontification of radio-button widget labels
Date: Sat, 25 May 2024 11:29:28 +0200	[thread overview]
Message-ID: <877cfi9r47.fsf@gmx.net> (raw)
In-Reply-To: <868qzy1gp7.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 25 May 2024 10:41:40 +0300")

On Sat, 25 May 2024 10:41:40 +0300 Eli Zaretskii <eliz@gnu.org> 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 <eliz@gnu.org>
>> 
>> Ping!  Any further comments, or is there agreement to install the
>> proposed patch?
>> 
>> > From: Stephen Berman <stephen.berman@gmx.net>
>> > Cc: Eli Zaretskii <eliz@gnu.org>,  69942@debbugs.gnu.org
>> > Date: Fri, 26 Apr 2024 14:47:26 +0200
>> > 
>> > On Sun, 21 Apr 2024 21:45:21 +0200 Stephen Berman <stephen.berman@gmx.net> wrote:
>> > 
>> > > On Thu, 18 Apr 2024 15:37:58 +0200 Stephen Berman
>> > > <stephen.berman@gmx.net> wrote:
>> > >
>> > >> On Thu, 18 Apr 2024 07:07:43 -0300 Mauro Aranda
>> > >> <maurooaranda@gmail.com> wrote:
>> > >>
>> > >>> Eli Zaretskii <eliz@gnu.org> writes:
>> > >>>
>> > >>>>> Date: Mon, 8 Apr 2024 07:58:44 -0300
>> > >>>>> Cc: 69942@debbugs.gnu.org
>> > >>>>> From: Mauro Aranda <maurooaranda@gmail.com>
>> > >>>>>
>> > >>>>> On 6/4/24 06:02, Eli Zaretskii wrote:
>> > >>>>>  >> From: Stephen Berman <stephen.berman@gmx.net>
>> > >>>>>  >> Cc: Eli Zaretskii <eliz@gnu.org>, 69942@debbugs.gnu.org
>> > >>>>>  >> Date: Mon, 01 Apr 2024 17:21:27 +0200
>> > >>>>>  >>
>> > >>>>>  >> On Mon, 25 Mar 2024 01:40:36 +0100 Stephen Berman
>> > >>>>> <stephen.berman@gmx.net> wrote:
>> > >>>>>  >>
>> > >>>>>  >>> Ok, I've gotten further with implementing disinguishing by faces
>> > >>>>>  >>> selected (chosen) and unselected radio buttons in radio-button-choice
>> > >>>>>  >>> widgets and check boxes in checklist widgets, see the attached patch.
>> > >>>>>  >>> Initial tests seem ok, but it definitely needs more testing.
>> > >>>>>  >>
>> > >>>>>  >> Any comments on this patch for using a widget-unselected face?  I have
>> > >>>>>  >> been detained from further testing this past week, but can now resume.
>> > >>>>>  >
>> > >>>>>  > Mauro, any further comments?
>> > >>>>>
>> > >>>>> Hi Eli and Stephen,
>> > >>>>>
>> > >>>>> Please forgive me, for the past 2 weeks I haven't been able to do any
>> > >>>>> computer stuff.  If it's OK, please give me until the weekend 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.  The patch looks good to me.  It'll be great if
>> > >>> Stephen can add some documentation to the manual, so it stays updated.
>> > >>> 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.)
>> > 
>> > 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.
>> > 
>> > 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 priority.
>> > 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 are
>> > deactivated, the labels have widget-inactive face.
>> > 
>> > 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.  This
>> > 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-inactive
>> > face.  (Thus, the "desired results" in the preceding paragraph are only
>> > visible when widget-unselected face is customized to differ from
>> > widget-unselected face.)
>> > 
>> > Finally, regarding documentation of widget-unselected face in the Widget
>> > manual, I think it would be helpful for the documentation to mention the
>> > 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:
>> > 
>> > @deffn Face widget-unselected
>> > Face used for unselected widgets.  This face is also used on the text
>> > labels of radio-button and checkbox widgets.
>> > 
>> > 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
>> > 
>> > 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 attached
>> > patch, but if approved, will of course add it after the merge.
>> > 
>> > Steve Berman
>> 
>> 
>> 
>> 





  reply	other threads:[~2024-05-25  9:29 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-22 15:04 bug#69942: 30.0.50; Fontification of radio-button widget labels Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-22 15:33 ` Eli Zaretskii
2024-03-23 21:05   ` Mauro Aranda
2024-03-24 18:47     ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-03-25  0:40       ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-01 15:21         ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-06  9:02           ` Eli Zaretskii
2024-04-08 10:58             ` Mauro Aranda
2024-04-08 11:15               ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-08 12:03               ` Eli Zaretskii
2024-04-18  9:23               ` Eli Zaretskii
2024-04-18 10:07                 ` Mauro Aranda
2024-04-18 13:37                   ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-21 19:45                     ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-04-26 12:47                       ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-09  7:22                         ` Eli Zaretskii
2024-05-25  7:41                           ` Eli Zaretskii
2024-05-25  9:29                             ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors [this message]
2024-06-08 11:48                               ` Eli Zaretskii
2024-06-26  6:56                                 ` Stephen Berman via Bug reports for GNU Emacs, the Swiss army knife of text editors

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877cfi9r47.fsf@gmx.net \
    --to=bug-gnu-emacs@gnu.org \
    --cc=69942@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=maurooaranda@gmail.com \
    --cc=stephen.berman@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.