On Mon, Apr 21, 2025 at 10:45 AM Ship Mints wrote: > On Mon, Apr 21, 2025 at 10:34 AM Eli Zaretskii wrote: > >> > From: Ship Mints >> > Date: Mon, 21 Apr 2025 09:34:07 -0400 >> > Cc: 77945@debbugs.gnu.org >> > >> > > Doesn't describe-face already satisfy that need? >> > > >> > > I wanted a programmatic API where I could "diff" output. >> > >> > Sorry, I don't understand. describe-face produces a buffer that can >> > be diff'ed, right? >> > >> > I meant "diff" (hence my use of quotes) in the compare two lists >> programmatically sense. >> >> I still don't understand. Lists are not the only data types that can >> be diff'ed. >> >> > The output of >> > 'describe-face' also seems not to have alternatives to enable/disable >> inheritance, not that it helps with >> > programmatic comparisons. >> >> If the 'inherit' attribute is non-nil, describe-face shows a link to >> the inherited face, and you can follow it. >> > > Yes, I understand. I prefer to examine these using *scratch* and/or > programs vs. using the interactive customize-style UI. face-attribute > already takes inherit, and it seems like a natural extension for > face-all-attributes to be in harmony, and with additional programmer > utility. > I enjoy this: (seq-difference (face-all-attributes 'some-face (selected-frame)) (face-all-attributes 'some-face (selected-frame) 'inherit))