GNU bug report logs - #77928
[PATCH] use-package :custom-face is meant to behave like custom-set-face

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Michael Shields <shields@HIDDEN>; Keywords: patch; dated Sat, 19 Apr 2025 20:42:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 77928 <at> debbugs.gnu.org:


Received: (at 77928) by debbugs.gnu.org; 26 Apr 2025 12:52:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 26 08:52:54 2025
Received: from localhost ([127.0.0.1]:59270 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u8f1Z-00011A-I9
	for submit <at> debbugs.gnu.org; Sat, 26 Apr 2025 08:52:54 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:36560)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u8f1W-00010p-JM
 for 77928 <at> debbugs.gnu.org; Sat, 26 Apr 2025 08:52:51 -0400
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 <eliz@HIDDEN>)
 id 1u8f1Q-0000s0-84; Sat, 26 Apr 2025 08:52:44 -0400
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=C50BKK4Llk9qGXp6nvzHBP0V8EK0Ncohjmj3wAJxobY=; b=DNZZJQEGyfqO
 jvolO+Mra6kkHr9wOyibPoYX9xANLH6+CUrcbzyXg8Lj40InbzvchzZveUpa21Rf6W+my1zYhBL/R
 QhgsPcJv/5GHx7eZAdXB/tJIHZFTUIIRg70V6Q13dxBZu4zM8KzPJhimh/Zd4tYj2UWJxAg8nRxVG
 aS/N8EGQ4M0btClvDLnViVTrwwjOdt3wVKr/yVJkJh8yN967k6xISJbSAnV23QuWboDJA3nW/1+7B
 8n9yCbs6Quj73wKuoKsQVLvyZRVzhw/+qdBV8Fm3baXvGzHiJplUmcnG+r6ns9x8xcq2ajWDx0avl
 dywS6O94fZ8Ek/ijnOIh1w==;
Date: Sat, 26 Apr 2025 15:52:32 +0300
Message-Id: <86tt6bt78v.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Michael Shields <shields@HIDDEN>, John Wiegley <johnw@HIDDEN>
In-Reply-To: <CAMPZLETnGmnJ3tFZQizxM9o8ywe4ZJ_v1o2Lr=kL-sqtwaVLQA@HIDDEN>
 (message from Michael Shields on Sat, 19 Apr 2025 13:41:01 -0700)
Subject: Re: bug#77928: [PATCH] use-package :custom-face is meant to behave
 like custom-set-face
References: <CAMPZLETnGmnJ3tFZQizxM9o8ywe4ZJ_v1o2Lr=kL-sqtwaVLQA@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77928
Cc: 77928 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Michael Shields <shields@HIDDEN>
> Date: Sat, 19 Apr 2025 13:41:01 -0700
> 
> The attached patch fixes a bug where migrating a face spec from custom.el to use-package :custom-face
> results in a surprising behavior change: the new spec is overlaid on the default value instead of replacing it.
> This seems to have been an unintended consequence of
> https://github.com/jwiegley/use-package/issues/934.

Thanks.

I wanted to install this, but it causes failures in the tests: the 3
that you amended and the new 4th one, see the details below.  Could
you please fix that?

Also, please include the followup change for the documentation in the
next patch submittal, and also please observe our conventions for log
messages.  In particular, too long lines there are rejected by our
git-commit-hooks.  Please also mention the bug number in the commit
log message.

Here are the errors from the tests:

  Test use-package-test/:custom-face-1 backtrace:
    signal(ert-test-failed (((should (pcase (expand-minimally (use-packa
    ert-fail(((should (pcase (expand-minimally (use-package foo :custom-
    (if (unwind-protect (setq value-665 (let* ((val (let (... ...) (macr
    (let (form-description-666) (if (unwind-protect (setq value-665 (let
    (let ((value-665 (gensym "ert-form-evaluation-aborted-"))) (let (for
    #f(lambda () [t] (let ((value-665 (gensym "ert-form-evaluation-abort
    #f(compiled-function () #<bytecode -0x17069ad950ffacee>)()
    handler-bind-1(#f(compiled-function () #<bytecode -0x17069ad950fface
    ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
    ert-run-test(#s(ert-test :name use-package-test/:custom-face-1 :docu
    ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
    ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
    ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
    ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
    eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
    command-line-1(("-L" ";." "-l" "ert" "--eval" "(setq treesit-extra-l
    command-line()
    normal-top-level()
  Test use-package-test/:custom-face-1 condition:
      (ert-test-failed
       ((should (pcase (expand-minimally ...) (... t))) :form
	(let* ((val ...)) (if (equal val ...) (let nil t))) :value nil))
     FAILED   71/167  use-package-test/:custom-face-1 (0.000224 sec) at lisp/use-package/use-package-tests.el:1152
  Test use-package-test/:custom-face-2 backtrace:
    signal(ert-test-failed (((should (pcase (expand-minimally (use-packa
    ert-fail(((should (pcase (expand-minimally (use-package example :cus
    (if (unwind-protect (setq value-667 (let* ((val (let (... ...) (macr
    (let (form-description-668) (if (unwind-protect (setq value-667 (let
    (let ((value-667 (gensym "ert-form-evaluation-aborted-"))) (let (for
    #f(lambda () [t] (let ((value-667 (gensym "ert-form-evaluation-abort
    #f(compiled-function () #<bytecode -0x17069ad950ffacee>)()
    handler-bind-1(#f(compiled-function () #<bytecode -0x17069ad950fface
    ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
    ert-run-test(#s(ert-test :name use-package-test/:custom-face-2 :docu
    ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
    ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
    ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
    ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
    eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
    command-line-1(("-L" ";." "-l" "ert" "--eval" "(setq treesit-extra-l
    command-line()
    normal-top-level()
  Test use-package-test/:custom-face-2 condition:
      (ert-test-failed
       ((should (pcase (expand-minimally ...) (... t))) :form
	(let* ((val ...)) (if (equal val ...) (let nil t))) :value nil))
     FAILED   72/167  use-package-test/:custom-face-2 (0.000323 sec) at lisp/use-package/use-package-tests.el:1164
  Test use-package-test/:custom-face-3 backtrace:
    signal(ert-test-failed (((should (pcase (expand-minimally (use-packa
    ert-fail(((should (pcase (expand-minimally (use-package foo :custom-
    (if (unwind-protect (setq value-669 (let* ((val (let (... ...) (macr
    (let (form-description-670) (if (unwind-protect (setq value-669 (let
    (let ((value-669 (gensym "ert-form-evaluation-aborted-"))) (let (for
    #f(lambda () [t] (let ((value-669 (gensym "ert-form-evaluation-abort
    #f(compiled-function () #<bytecode -0x17069ad950ffacee>)()
    handler-bind-1(#f(compiled-function () #<bytecode -0x17069ad950fface
    ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
    ert-run-test(#s(ert-test :name use-package-test/:custom-face-3 :docu
    ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
    ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
    ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
    ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
    eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
    command-line-1(("-L" ";." "-l" "ert" "--eval" "(setq treesit-extra-l
    command-line()
    normal-top-level()
  Test use-package-test/:custom-face-3 condition:
      (ert-test-failed
       ((should (pcase (expand-minimally ...) (... t))) :form
	(let* ((val ...)) (if (equal val ...) (let nil t))) :value nil))
     FAILED   73/167  use-package-test/:custom-face-3 (0.000269 sec) at lisp/use-package/use-package-tests.el:1183
  Test use-package-test/:custom-face-4 backtrace:
    signal(ert-test-failed (((should (equal (face-background 'use-packag
    ert-fail(((should (equal (face-background 'use-package-test/face nil
    (if (unwind-protect (setq value-678 (apply fn-676 args-677)) (setq f
    (let (form-description-680) (if (unwind-protect (setq value-678 (app
    (let ((value-678 'ert-form-evaluation-aborted-679)) (let (form-descr
    (let* ((fn-676 #'equal) (args-677 (condition-case err (list (face-ba
    #f(lambda () [t] (custom-declare-face 'use-package-test/base-face '(
    #f(compiled-function () #<bytecode -0x17069ad950ffacee>)()
    handler-bind-1(#f(compiled-function () #<bytecode -0x17069ad950fface
    ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
    ert-run-test(#s(ert-test :name use-package-test/:custom-face-4 :docu
    ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
    ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil
    ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp))))
    ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco
    eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n
    command-line-1(("-L" ";." "-l" "ert" "--eval" "(setq treesit-extra-l
    command-line()
    normal-top-level()
  Test use-package-test/:custom-face-4 condition:
      (ert-test-failed
       ((should (equal (face-background ... nil t) nil)) :form
	(equal "green" nil) :value nil :explanation
	(different-types "green" nil)))
     FAILED   74/167  use-package-test/:custom-face-4 (0.000288 sec) at lisp/use-package/use-package-tests.el:1194





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77928; Package emacs. Full text available.

Message received at 77928 <at> debbugs.gnu.org:


Received: (at 77928) by debbugs.gnu.org; 25 Apr 2025 02:21:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 22:21:54 2025
Received: from localhost ([127.0.0.1]:43767 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u88hO-00019m-61
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 22:21:54 -0400
Received: from mail-yw1-x112b.google.com ([2607:f8b0:4864:20::112b]:55700)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <shields@HIDDEN>) id 1u88hK-00019T-S1
 for 77928 <at> debbugs.gnu.org; Thu, 24 Apr 2025 22:21:52 -0400
Received: by mail-yw1-x112b.google.com with SMTP id
 00721157ae682-6feab7c5f96so18436497b3.3
 for <77928 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 19:21:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=msrl.com; s=google; t=1745547705; x=1746152505; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=D6LbqZ+ts4A7TALnxSgAqGLOvZ028zZ9mmREHWKRgzU=;
 b=MMYDHJ8yhxTaFOwL6uI3IMPBznPCP8jA27tc+oK6jhzbONPTgCKtdRNtDJcYfoHczf
 /TD0KVSr+8FIjQssJqfqDmcrwlc0xizJ4F6Zty7QCnKWRdRwN5GkL86HkOqus9+z0v5V
 MGz1xseYZjtCeH8k23pYi99K2buwQEwvPdNnY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745547705; x=1746152505;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=D6LbqZ+ts4A7TALnxSgAqGLOvZ028zZ9mmREHWKRgzU=;
 b=am++SXBfJcg7AMcta2/CAyhHpbAP/+oCYNp8LSPXhGI0XtvH++8xpWxS415VZ66weI
 Gc/cTxNa1Zs2nLMHcL+hW0z0dMfg2chC36tiyXsz6TBo82vj7bbXgdaqiibjjpHKNoq1
 VSyX/+M/kZKz4Ht73cGlcL99v+p43tpHDwWhSS1sp1Xdz3r+kbKLEPlgNHqI3DoKfIjp
 o6z/KPpRNN7HydkVSEfWUDRxVht5xJwrXh3O6cbIcKVQCwmCwmPSlMi7t+QI6faHPqlj
 TOCtV3KCLnGmIF+VBDL5cnKozLYdQBg2lSLyQM7fwcjZtwmCY5TogHrz1TEXDMUgZtcc
 YtQw==
X-Forwarded-Encrypted: i=1;
 AJvYcCWBJptkF/sLQepLm1I9pknbzyxmI+Q1MVEo4ACZvxxBlv+XBAmgFuhKnw3TdRqNHKQMEGfa+A==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yw2O/6vIK3n07JMIStQkII7q1cxV78CVo7wIZn/MdwOz2zLFguz
 j9eCZV6OttWiwAAr1hvHh5iPjmWEmsNmkYZu/jSFMEPO7J4NPZ6d51w3BD+vZbb/VCtDjTZUsok
 JTFB1PmgFAK4i7DWrW7gGo/8JIbGtExK6/sIYk3WoFnfq0whadYcC
X-Gm-Gg: ASbGnctenTrqAKNuY15R0wT7wM9zr8BMPY/9jy6Vs0LOyMFDG8wi8rLcMcVg8929Njo
 NqALaqDHlXFMfAfvgM+NlbJQkmepYh7sGo3UXNq6bWr7cauO6UblObuNiyxIOOQRsxabVEGwjTq
 dH0EH2c1d+t3JvoTmd4pXFt+pY4x1fBoci5fq6V6t4d72yItSKFITAWIeo
X-Google-Smtp-Source: AGHT+IE9QJD8r1t8os1iYvBRkhQAyQ+rJCVBoJyHwfCfl1U+EzIQmYKFcWhPINx3KOjzNLHR5EXkMQOlXEjnXJX5SVg=
X-Received: by 2002:a05:690c:67c3:b0:6ef:69b2:eac with SMTP id
 00721157ae682-708540dc239mr7082977b3.4.1745547705055; Thu, 24 Apr 2025
 19:21:45 -0700 (PDT)
MIME-Version: 1.0
References: <CAMPZLETnGmnJ3tFZQizxM9o8ywe4ZJ_v1o2Lr=kL-sqtwaVLQA@HIDDEN>
 <86ldrv747s.fsf@HIDDEN> <m2r01h9h0t.fsf@HIDDEN>
In-Reply-To: <m2r01h9h0t.fsf@HIDDEN>
From: Michael Shields <shields@HIDDEN>
Date: Thu, 24 Apr 2025 19:21:33 -0700
X-Gm-Features: ATxdqUHoN_15VsdLzrxI8MGecQaDEAz9zqKN_7K8xWjc7Rk-R1BFw2S_zTrXMYI
Message-ID: <CAMPZLESm8OCPXXLd=itz-ZScTAFPQgGpp_9UyErx6QRYRK31DA@HIDDEN>
Subject: Re: bug#77928: [PATCH] use-package :custom-face is meant to behave
 like custom-set-face
To: John Wiegley <johnw@HIDDEN>
Content-Type: multipart/mixed; boundary="000000000000e6a094063390fe4d"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77928
Cc: Eli Zaretskii <eliz@HIDDEN>, 77928 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--000000000000e6a094063390fe4d
Content-Type: multipart/alternative; boundary="000000000000e6a092063390fe4b"

--000000000000e6a092063390fe4b
Content-Type: text/plain; charset="UTF-8"

Ok, documentation updated.

It looks like the only reason a SPEC-TYPE argument is accepted was that
someone else was caught out by the unintended change to partial inheritance:
https://github.com/jwiegley/use-package/issues/1008

--000000000000e6a092063390fe4b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Ok, documentation updated.<div><br></div><div>It looks lik=
e the only reason a SPEC-TYPE argument=C2=A0is accepted was that someone el=
se was caught out by the unintended change to partial inheritance:</div><di=
v><a href=3D"https://github.com/jwiegley/use-package/issues/1008">https://g=
ithub.com/jwiegley/use-package/issues/1008</a></div></div>

--000000000000e6a092063390fe4b--

--000000000000e6a094063390fe4d
Content-Type: application/octet-stream; 
	name="0002-Update-documentation.patch"
Content-Disposition: attachment; filename="0002-Update-documentation.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m9w5y0mw0>
X-Attachment-Id: f_m9w5y0mw0

RnJvbSBhNzJiMjNlM2EyYjRmNjcyZDVkZWY3N2U3ZWZhN2IzYWFmMmM5ZmY4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIFNoaWVsZHMgPHNoaWVsZHNAbXNybC5jb20+CkRh
dGU6IFRodSwgMjQgQXByIDIwMjUgMTk6MTE6NTkgLTA3MDAKU3ViamVjdDogW1BBVENIIDIvMl0g
VXBkYXRlIGRvY3VtZW50YXRpb24KCi0tLQogZG9jL21pc2MvdXNlLXBhY2thZ2UudGV4aSB8IDIg
Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt
LWdpdCBhL2RvYy9taXNjL3VzZS1wYWNrYWdlLnRleGkgYi9kb2MvbWlzYy91c2UtcGFja2FnZS50
ZXhpCmluZGV4IGNkYWU4ZDZlNjYyLi4zNDFiNmRhODdkOSAxMDA2NDQKLS0tIGEvZG9jL21pc2Mv
dXNlLXBhY2thZ2UudGV4aQorKysgYi9kb2MvbWlzYy91c2UtcGFja2FnZS50ZXhpCkBAIC0xNDQy
LDcgKzE0NDIsNyBAQCBGYWNlcwogKHVzZS1wYWNrYWdlIGV4YW1wbGUKICAgOmN1c3RvbS1mYWNl
CiAgIChleGFtcGxlLTEtZmFjZSAoKHQgKDpmb3JlZ3JvdW5kICJMaWdodFBpbmsiKSkpKQotICAo
ZXhhbXBsZS0yLWZhY2UgKCh0ICg6Zm9yZWdyb3VuZCAiTGlnaHRHcmVlbiIpKSkgZmFjZS1kZWZz
cGVjLXNwZWMpKQorICAoZXhhbXBsZS0yLWZhY2UgKCh0ICg6Zm9yZWdyb3VuZCAiTGlnaHRHcmVl
biIpKSkpKQogQGVuZCBncm91cAogCiBAZ3JvdXAKLS0gCjIuNDkuMAoK
--000000000000e6a094063390fe4d--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77928; Package emacs. Full text available.

Message received at 77928 <at> debbugs.gnu.org:


Received: (at 77928) by debbugs.gnu.org; 25 Apr 2025 01:17:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 21:17:17 2025
Received: from localhost ([127.0.0.1]:43303 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u87gr-0001WP-4p
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 21:17:17 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:44564)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <johnw@HIDDEN>) id 1u87go-0001WC-NZ
 for 77928 <at> debbugs.gnu.org; Thu, 24 Apr 2025 21:17:15 -0400
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 <johnw@HIDDEN>)
 id 1u87gj-0002wK-48; Thu, 24 Apr 2025 21:17:09 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To:
 From; bh=Kq1bc5qBTHBa5Qg1QFSiazbkUFTqeVtaURgRAhVnQOs=; b=jrDg8PYBYGF4OxFG0eg5
 Dc5VRrwzaJY7g8piZSesRLfuK/pK1XExcrhZ0riBH5SoB1Dl3f2Ysw3cOk+V6nm4VJsb1QratJo04
 hFFfged+KCpA0p3qtB8WKkGB/MMvfddZ84bRkZMMtFHgcg618YIwbLWvdLuE8ScRXqnPa2WsNERTH
 NHt7+lATmD2cY9+eUFic3fBci4ADGEJAMb046q9tTf5+tZoOJSoFnQEvXyMKncrTaH0p0v75yygxD
 n0BfFQIEqqTZxlCmvJ1W7ydC3qPbUleaP82uGmKsqlR/djwcWbt9B2/9GuhSW2rKRoxpphNBrqBu3
 lhMUS49BTjhc3Q==;
X-ME-Sender: <xms:k-IKaFJX8TexZl-vnhlC1m75fXdXDqsCwIx6zDDF4xdgzkdWsx1ZKg>
 <xme:k-IKaBL2w4l8L483e0yMlAqK3_GVEe2sQorTFUlp8KXOj5de7tALdv6e7fdaUSCht
 bhtgUNg-76UBSri-Q>
X-ME-Received: <xmr:k-IKaNtJfCNNWq6CXCK5pcQy3Tf5XzKHkJcs29hRMu6zMMRfZWt5Whw8DjFs>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvhedtleelucetufdoteggodetrf
 dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv
 pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih
 gvnhhtshculddquddttddmnecujfgurhephffvvefujghffffkfgggtgfgsehtqhertddt
 reejnecuhfhrohhmpeflohhhnhcuhghivghglhgvhicuoehjohhhnhifsehgnhhurdhorh
 hgqeenucggtffrrghtthgvrhhnpedtgefhheejveffteekkeeuhefggedvhfetgfekudev
 tdfhudffgfefuedvffekieenucffohhmrghinhepghhithhhuhgsrdgtohhmpdhnvgifrg
 hrthhishgrnhhsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm
 rghilhhfrhhomhepjhhohhhnfidomhgvshhmthhprghuthhhphgvrhhsohhnrghlihhthi
 dqieekjeektdelgeegqddujeejheefkeduiedqjhhohhhnfieppehgnhhurdhorhhgsehn
 vgifrghrthhishgrnhhsrdgtohhmpdhnsggprhgtphhtthhopeefpdhmohguvgepshhmth
 hpohhuthdprhgtphhtthhopeejjeelvdekseguvggssghughhsrdhgnhhurdhorhhgpdhr
 tghpthhtohepshhhihgvlhgushesmhhsrhhlrdgtohhmpdhrtghpthhtohepvghlihiise
 hgnhhurdhorhhg
X-ME-Proxy: <xmx:k-IKaGagDQssW71UgnS3rZHEF5nC7PmAsRx3ra1H1Lu7O_n15UgEQw>
 <xmx:k-IKaMazNIFWfHQLf9_999P8V6q_8ieJGxxxk1tSvlLryoNtuhTmUw>
 <xmx:k-IKaKALY0xGbUZTBuxQlPyT32Ve80WtDUVZXVaiXnZ1meSByVgutQ>
 <xmx:k-IKaKZEu2ympi41NHEmcKYCrS24wgwAbms-0_govY250-AlgjCZaw>
 <xmx:k-IKaIorItFCQgYPsIIRP22ipgtk1Pfgl3iLfHHgRkJ6plaoyvwcwoyv>
Feedback-ID: ib64945b7:Fastmail
From: John Wiegley <johnw@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77928: [PATCH] use-package :custom-face is meant to behave
 like custom-set-face
In-Reply-To: <86ldrv747s.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 20 Apr
 2025 09:10:47 +0300")
References: <CAMPZLETnGmnJ3tFZQizxM9o8ywe4ZJ_v1o2Lr=kL-sqtwaVLQA@HIDDEN>
 <86ldrv747s.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 18:17:06 -0700
Message-ID: <m2r01h9h0t.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77928
Cc: 77928 <at> debbugs.gnu.org, Michael Shields <shields@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>>>>> Eli Zaretskii <eliz@HIDDEN> writes:

>> The attached patch fixes a bug where migrating a face spec from custom.el
>> to use-package :custom-face results in a surprising behavior change: the
>> new spec is overlaid on the default value instead of replacing it. This
>> seems to have been an unintended consequence of
>> https://github.com/jwiegley/use-package/issues/934.

> John, any comments?

Well, this patch would invalidate the current documentation:

     (use-package example
       :custom-face
       (example-1-face ((t (:foreground "LightPink"))))
       (example-2-face ((t (:foreground "LightGreen"))) face-defspec-spec))

It will remove the ability to specify a SPEC-TYPE argument in the declarati=
on,
and instead would force it to always be `face-defface-spec', no? At the mom=
ent
the default uses `face-override-spec', when no such argument is provided.

If face-defface-spec is the desired default behaivor =E2=80=94 while droppi=
ng the
current ability to customize that behavior in the declaration =E2=80=94 I h=
ave no
objection, but the Texinfo example will need to be updated as well.

--=20
John Wiegley                  GPG fingerprint =3D 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77928; Package emacs. Full text available.

Message received at 77928 <at> debbugs.gnu.org:


Received: (at 77928) by debbugs.gnu.org; 20 Apr 2025 06:11:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 20 02:11:01 2025
Received: from localhost ([127.0.0.1]:43678 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6NtM-0000kI-Qy
	for submit <at> debbugs.gnu.org; Sun, 20 Apr 2025 02:11:01 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:46074)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u6NtJ-0000k2-SN
 for 77928 <at> debbugs.gnu.org; Sun, 20 Apr 2025 02:10:58 -0400
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 <eliz@HIDDEN>)
 id 1u6NtD-0006zM-PY; Sun, 20 Apr 2025 02:10:51 -0400
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=LacbFMTzflWo6KLbw6ZuVVlIkrh5Nj+7fQWKM0T42DQ=; b=q7lHjAz0rQVf
 1MNmp+g6nWLZi+Ny1SWe3tRQwfeNCRdmZDlyZCLag3TenLWprUgmXNWVQdDKYnElKeEfIS1cn2kc7
 MGoNwawZ6Wd4sW6nGq9Xl+6Y6jytrMhMCWK3htSc7R2s1tiubqlXlzSb3QvCr5WEpbZrKLFWgpwbG
 3Dh2DAyUtzflWWfGvWOF1weTxZFvILjK557FoxVpYO3n4VlN0jyPvEGUL5z1gsuDASPYLyIhrk9ZX
 74fPiDpUfVIRCgf3D8afJq5N5hvkyqSvxb9VP8GCqTV5qh3kobTvMLEZaT8CWyIpn/Hmk0IknbmEs
 PnpYNEKRJicraPVzPxprhQ==;
Date: Sun, 20 Apr 2025 09:10:47 +0300
Message-Id: <86ldrv747s.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Michael Shields <shields@HIDDEN>, John Wiegley <johnw@HIDDEN>
In-Reply-To: <CAMPZLETnGmnJ3tFZQizxM9o8ywe4ZJ_v1o2Lr=kL-sqtwaVLQA@HIDDEN>
 (message from Michael Shields on Sat, 19 Apr 2025 13:41:01 -0700)
Subject: Re: bug#77928: [PATCH] use-package :custom-face is meant to behave
 like custom-set-face
References: <CAMPZLETnGmnJ3tFZQizxM9o8ywe4ZJ_v1o2Lr=kL-sqtwaVLQA@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77928
Cc: 77928 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Michael Shields <shields@HIDDEN>
> Date: Sat, 19 Apr 2025 13:41:01 -0700
> 
> The attached patch fixes a bug where migrating a face spec from custom.el to use-package :custom-face
> results in a surprising behavior change: the new spec is overlaid on the default value instead of replacing it.
> This seems to have been an unintended consequence of
> https://github.com/jwiegley/use-package/issues/934.

John, any comments?

> From 748e620fe2d286a853f4030bba16c99470387a1b Mon Sep 17 00:00:00 2001
> From: Michael Shields <shields@HIDDEN>
> Date: Sat, 19 Apr 2025 12:58:26 -0700
> Subject: [PATCH] Fix use-package :custom-face to set face-defface-spec
> 
> By default, `face-set-spec' sets the override face spec, so the supplied
> face attributes are combined with the default, rather than replacing
> them.  This was a behavior change that was an apparently unintended
> consequence of commit 6b344a9.
> 
> Also set the `face-modified' property, which causes Customize to flag
> the face as changed outside Customize.
> 
> * doc/misc/use-package.texi (Faces):
> * lisp/use-package/use-package-core.el (use-package-handler/:custom-face):
> (use-package):
> * test/lisp/use-package/use-package-tests.el (use-package-test/:custom-face-1):
> (use-package-test/:custom-face-2):
> (use-package-test/:custom-face-3):
> (use-package-test/:custom-face-4):
> ---
>  doc/misc/use-package.texi                  |  5 +++
>  lisp/use-package/use-package-core.el       |  8 +++--
>  test/lisp/use-package/use-package-tests.el | 40 ++++++++++++++++++----
>  3 files changed, 45 insertions(+), 8 deletions(-)
> 
> diff --git a/doc/misc/use-package.texi b/doc/misc/use-package.texi
> index c14e7b77d23..cdae8d6e662 100644
> --- a/doc/misc/use-package.texi
> +++ b/doc/misc/use-package.texi
> @@ -1457,6 +1457,11 @@ Faces
>  @end group
>  @end lisp
>  
> +Similarly to @code{:custom} (@pxref{User options}), this allows
> +configuring customizable faces outside of Customize (@pxref{Saving
> +Customizations,,, emacs, GNU Emacs Manual}).  Using both systems to
> +configure the same face can lead to confusing results.
> +
>  @node Hiding minor modes
>  @section Hiding minor modes with diminish and delight
>  @cindex hiding minor modes
> diff --git a/lisp/use-package/use-package-core.el b/lisp/use-package/use-package-core.el
> index c04053c22ac..4b63d985604 100644
> --- a/lisp/use-package/use-package-core.el
> +++ b/lisp/use-package/use-package-core.el
> @@ -1584,7 +1584,11 @@ use-package-normalize/:custom-face
>  (defun use-package-handler/:custom-face (name _keyword args rest state)
>    "Generate use-package custom-face keyword code."
>    (use-package-concat
> -   (mapcar #'(lambda (def) `(apply #'face-spec-set (backquote ,def))) args)
> +   (mapcar #'(lambda (def)
> +               `(progn
> +                  (apply #'face-spec-set (append (backquote ,def) '(face-defface-spec)))
> +                  (put ',(car def) 'face-modified t)))
> +           args)
>     (use-package-process-keywords name rest state)))
>  
>  ;;;; :init
> @@ -1848,7 +1852,7 @@ use-package
>  :custom          Call `Custom-set' or `set-default' with each variable
>                   definition without modifying the Emacs `custom-file'.
>                   (compare with `custom-set-variables').
> -:custom-face     Call `custom-set-faces' with each face definition.
> +:custom-face     Call `face-spec-set' with each face definition.
>  :ensure          Loads the package using package.el if necessary.
>  :pin             Pin the package to an archive.
>  :vc              Install the package directly from a version control system
> diff --git a/test/lisp/use-package/use-package-tests.el b/test/lisp/use-package/use-package-tests.el
> index 8554b37d5b8..b221c5de5c1 100644
> --- a/test/lisp/use-package/use-package-tests.el
> +++ b/test/lisp/use-package/use-package-tests.el
> @@ -1153,7 +1153,12 @@ use-package-test/:custom-face-1
>    (match-expansion
>     (use-package foo :custom-face (foo ((t (:background "#e4edfc")))))
>     `(progn
> -      (apply #'face-spec-set (backquote (foo ((t (:background "#e4edfc"))))))
> +      (progn
> +        (apply #'face-spec-set
> +               (append (backquote (foo ((t (:background "#e4edfc")))))
> +                       '(face-defface-spec))
> +               )
> +        (put 'foo 'face-modified t))
>        (require 'foo nil nil))))
>  
>  (ert-deftest use-package-test/:custom-face-2 ()
> @@ -1163,19 +1168,42 @@ use-package-test/:custom-face-2
>       (example-1-face ((t (:foreground "LightPink"))))
>       (example-2-face ((t (:foreground "LightGreen")))))
>     `(progn
> -      (apply #'face-spec-set
> -             (backquote (example-1-face ((t (:foreground "LightPink"))))))
> -      (apply #'face-spec-set
> -             (backquote (example-2-face ((t (:foreground "LightGreen"))))))
> +      (progn
> +        (apply #'face-spec-set
> +               (append (backquote (example-1-face ((t (:foreground "LightPink")))))
> +                       '(face-defface-spec)))
> +        (put 'example-1-face 'face-modified t))
> +      (progn
> +        (apply #'face-spec-set
> +               (append (backquote (example-2-face ((t (:foreground "LightGreen")))))
> +                       '(face-defface-spec)))
> +        (put 'example-2-face 'face-modified t))
>        (require 'example nil nil))))
>  
>  (ert-deftest use-package-test/:custom-face-3 ()
>    (match-expansion
>     (use-package foo :custom-face (foo ((t (:background "#e4edfc"))) face-defspec-spec))
>     `(progn
> -      (apply #'face-spec-set (backquote (foo ((t (:background "#e4edfc"))) face-defspec-spec)))
> +      (progn
> +        (apply #'face-spec-set
> +               (append (backquote (foo ((t (:background "#e4edfc"))) face-defspec-spec))
> +                       '(face-defface-spec)))
> +        (put 'foo 'face-modified t))
>        (require 'foo nil nil))))
>  
> +(ert-deftest use-package-test/:custom-face-4 ()
> +  (defface use-package-test/base-face '((t (:background "green"))) "")
> +  (defface use-package-test/face '((t (:inherit use-package-test/base-face))) "")
> +  (use-package emacs
> +    :custom-face
> +    (use-package-test/face ((t (:foreground "blue")))))
> +  (should (equal (face-foreground 'use-package-test/face nil t)
> +                 "blue"))
> +  (should (equal (face-background 'use-package-test/face nil t)
> +                 nil))
> +  (should (equal (get 'use-package-test/face 'face-modified)
> +                 t)))
> +
>  (ert-deftest use-package-test/:init-1 ()
>    (match-expansion
>     (use-package foo :init (init))
> -- 
> 2.49.0
> 




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77928; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 19 Apr 2025 20:41:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 19 16:41:28 2025
Received: from localhost ([127.0.0.1]:38479 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6F0A-0005GV-34
	for submit <at> debbugs.gnu.org; Sat, 19 Apr 2025 16:41:27 -0400
Received: from lists.gnu.org ([2001:470:142::17]:53080)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <shields@HIDDEN>) id 1u6F06-0005FG-Oo
 for submit <at> debbugs.gnu.org; Sat, 19 Apr 2025 16:41:23 -0400
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 <shields@HIDDEN>) id 1u6F00-0008Sr-FX
 for bug-gnu-emacs@HIDDEN; Sat, 19 Apr 2025 16:41:16 -0400
Received: from mail-yb1-xb32.google.com ([2607:f8b0:4864:20::b32])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <shields@HIDDEN>) id 1u6Ezy-0003sF-Ms
 for bug-gnu-emacs@HIDDEN; Sat, 19 Apr 2025 16:41:16 -0400
Received: by mail-yb1-xb32.google.com with SMTP id
 3f1490d57ef6-e589c258663so2352301276.1
 for <bug-gnu-emacs@HIDDEN>; Sat, 19 Apr 2025 13:41:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=msrl.com; s=google; t=1745095272; x=1745700072; darn=gnu.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=CZ8T0EIOa2QrXylL6G7C7KEFgk6IMWnam6Tnf8dHgi4=;
 b=NqoEJw3IIVMgvyMeQEIfHhl+SJanfuDDDXX9wdWfkS2fZ8eboGxhNoUgjgm5nCtDsp
 INlGBxDBZmrD2VuOY7IOv5O+i3ol6Ai2CIExSYu4OxM9dkHPvCs9Q/QDgpqc010W8PiC
 4bDnkbjbS5bsEboBcbNHRTPLRWI6Yhn5ISCSg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745095272; x=1745700072;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=CZ8T0EIOa2QrXylL6G7C7KEFgk6IMWnam6Tnf8dHgi4=;
 b=xDQz1daKG16Ce4usxJeTKGuxK22p2DbMXYnNTNiF+0VCEN23KpPox4xHMpYhgVz6pS
 aamtC13oddX7HSmaajop4q4B4esCFcWcRA/SlN/J/NtMJ2TPx5hnsNJTEe9AUWmZGC4P
 fp1qMCjoUS7qSjqcJ6V8Bz9d4aYBokQkFXqOaNU+lR+gj7Uug3NamKGttH4HNPWqbtZp
 BSB0sTEDedg+kTCvOtsyAls7Eu8H/LtJPgH3v14jTQF9Sb0lA8Y7GPk2akVD6VaVNyM4
 ncmqlwgkfezCOUPLv39uuAqAyb8aRBgd7Z2hn5ivFJoemAGAt1e6GaKrspTN9NGRl+Xn
 oeRQ==
X-Gm-Message-State: AOJu0YwZUCDjoJyargAylJ1co1cymOi8lxjSUAJjDWZa5lw+YRgi3hMd
 8+Plr3ybwaL9DKvNm5AuViu3ZuIXDaTS23PZvroMxzaHJVJZNtSRNqFftv5c4KDZ5j9Sfk1pnpv
 /IFuUeK+hQAFa7DWTvWNgNSvolzlDxHMzC0SF1Ce/9QOgtLZXkdM2
X-Gm-Gg: ASbGnctoNyrI1k0X2m6p1DOqx1Z3nBw+/wZgfh6I1GpNPLIgsaXC0tD89+xMEjnEJwG
 GBJQurXpSvDQStCTFDEhntOFzy8iPhCq2EsbAE73cAWbss431VTA5O5D0nAm+SsPwHXpfgNxdVx
 MmBaHOg+dvORFVwkSEQ5sQI5j7/ka0m1QMSarTXeOvv/mX10+PLBtUGyoe
X-Google-Smtp-Source: AGHT+IGXoq3zP+nkr610GawSgLthEAAPjL4lHfKOnRxVxxdiY2rgrt1O9XelkfXg50LEHMS3AAydTOwX1s41hHErQz0=
X-Received: by 2002:a05:6902:e8b:b0:e72:81e5:1ea with SMTP id
 3f1490d57ef6-e7297ee525bmr9571914276.41.1745095272214; Sat, 19 Apr 2025
 13:41:12 -0700 (PDT)
MIME-Version: 1.0
From: Michael Shields <shields@HIDDEN>
Date: Sat, 19 Apr 2025 13:41:01 -0700
X-Gm-Features: ATxdqUGMEs_Hqzp4eHTx-Tp2yp9csKGPaw871S9iJoDaN9KWRLga0nljtDHJN9g
Message-ID: <CAMPZLETnGmnJ3tFZQizxM9o8ywe4ZJ_v1o2Lr=kL-sqtwaVLQA@HIDDEN>
Subject: [PATCH] use-package :custom-face is meant to behave like
 custom-set-face
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/mixed; boundary="000000000000cd024b063327a735"
Received-SPF: pass client-ip=2607:f8b0:4864:20::b32;
 envelope-from=shields@HIDDEN; helo=mail-yb1-xb32.google.com
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, HTML_MESSAGE=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

--000000000000cd024b063327a735
Content-Type: multipart/alternative; boundary="000000000000cd024a063327a733"

--000000000000cd024a063327a733
Content-Type: text/plain; charset="UTF-8"

The attached patch fixes a bug where migrating a face spec from custom.el
to use-package :custom-face results in a surprising behavior change: the
new spec is overlaid on the default value instead of replacing it. This
seems to have been an unintended consequence of
https://github.com/jwiegley/use-package/issues/934.

--000000000000cd024a063327a733
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">The attached patch fixes a bug where migrating a face spec=
 from custom.el to use-package :custom-face results in a surprising=C2=A0be=
havior change: the new spec is overlaid on the default value instead of rep=
lacing it. This seems to have been an unintended consequence of=C2=A0<a hre=
f=3D"https://github.com/jwiegley/use-package/issues/934">https://github.com=
/jwiegley/use-package/issues/934</a>.</div>

--000000000000cd024a063327a733--

--000000000000cd024b063327a735
Content-Type: application/octet-stream; 
	name="0001-Fix-use-package-custom-face-to-set-face-defface-spec.patch"
Content-Disposition: attachment; 
	filename="0001-Fix-use-package-custom-face-to-set-face-defface-spec.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m9ooamej0>
X-Attachment-Id: f_m9ooamej0

RnJvbSA3NDhlNjIwZmUyZDI4NmE4NTNmNDAzMGJiYTE2Yzk5NDcwMzg3YTFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIFNoaWVsZHMgPHNoaWVsZHNAbXNybC5jb20+CkRh
dGU6IFNhdCwgMTkgQXByIDIwMjUgMTI6NTg6MjYgLTA3MDAKU3ViamVjdDogW1BBVENIXSBGaXgg
dXNlLXBhY2thZ2UgOmN1c3RvbS1mYWNlIHRvIHNldCBmYWNlLWRlZmZhY2Utc3BlYwoKQnkgZGVm
YXVsdCwgYGZhY2Utc2V0LXNwZWMnIHNldHMgdGhlIG92ZXJyaWRlIGZhY2Ugc3BlYywgc28gdGhl
IHN1cHBsaWVkCmZhY2UgYXR0cmlidXRlcyBhcmUgY29tYmluZWQgd2l0aCB0aGUgZGVmYXVsdCwg
cmF0aGVyIHRoYW4gcmVwbGFjaW5nCnRoZW0uICBUaGlzIHdhcyBhIGJlaGF2aW9yIGNoYW5nZSB0
aGF0IHdhcyBhbiBhcHBhcmVudGx5IHVuaW50ZW5kZWQKY29uc2VxdWVuY2Ugb2YgY29tbWl0IDZi
MzQ0YTkuCgpBbHNvIHNldCB0aGUgYGZhY2UtbW9kaWZpZWQnIHByb3BlcnR5LCB3aGljaCBjYXVz
ZXMgQ3VzdG9taXplIHRvIGZsYWcKdGhlIGZhY2UgYXMgY2hhbmdlZCBvdXRzaWRlIEN1c3RvbWl6
ZS4KCiogZG9jL21pc2MvdXNlLXBhY2thZ2UudGV4aSAoRmFjZXMpOgoqIGxpc3AvdXNlLXBhY2th
Z2UvdXNlLXBhY2thZ2UtY29yZS5lbCAodXNlLXBhY2thZ2UtaGFuZGxlci86Y3VzdG9tLWZhY2Up
OgoodXNlLXBhY2thZ2UpOgoqIHRlc3QvbGlzcC91c2UtcGFja2FnZS91c2UtcGFja2FnZS10ZXN0
cy5lbCAodXNlLXBhY2thZ2UtdGVzdC86Y3VzdG9tLWZhY2UtMSk6Cih1c2UtcGFja2FnZS10ZXN0
LzpjdXN0b20tZmFjZS0yKToKKHVzZS1wYWNrYWdlLXRlc3QvOmN1c3RvbS1mYWNlLTMpOgoodXNl
LXBhY2thZ2UtdGVzdC86Y3VzdG9tLWZhY2UtNCk6Ci0tLQogZG9jL21pc2MvdXNlLXBhY2thZ2Uu
dGV4aSAgICAgICAgICAgICAgICAgIHwgIDUgKysrCiBsaXNwL3VzZS1wYWNrYWdlL3VzZS1wYWNr
YWdlLWNvcmUuZWwgICAgICAgfCAgOCArKystLQogdGVzdC9saXNwL3VzZS1wYWNrYWdlL3VzZS1w
YWNrYWdlLXRlc3RzLmVsIHwgNDAgKysrKysrKysrKysrKysrKysrLS0tLQogMyBmaWxlcyBjaGFu
Z2VkLCA0NSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9t
aXNjL3VzZS1wYWNrYWdlLnRleGkgYi9kb2MvbWlzYy91c2UtcGFja2FnZS50ZXhpCmluZGV4IGMx
NGU3Yjc3ZDIzLi5jZGFlOGQ2ZTY2MiAxMDA2NDQKLS0tIGEvZG9jL21pc2MvdXNlLXBhY2thZ2Uu
dGV4aQorKysgYi9kb2MvbWlzYy91c2UtcGFja2FnZS50ZXhpCkBAIC0xNDU3LDYgKzE0NTcsMTEg
QEAgRmFjZXMKIEBlbmQgZ3JvdXAKIEBlbmQgbGlzcAogCitTaW1pbGFybHkgdG8gQGNvZGV7OmN1
c3RvbX0gKEBweHJlZntVc2VyIG9wdGlvbnN9KSwgdGhpcyBhbGxvd3MKK2NvbmZpZ3VyaW5nIGN1
c3RvbWl6YWJsZSBmYWNlcyBvdXRzaWRlIG9mIEN1c3RvbWl6ZSAoQHB4cmVme1NhdmluZworQ3Vz
dG9taXphdGlvbnMsLCwgZW1hY3MsIEdOVSBFbWFjcyBNYW51YWx9KS4gIFVzaW5nIGJvdGggc3lz
dGVtcyB0bworY29uZmlndXJlIHRoZSBzYW1lIGZhY2UgY2FuIGxlYWQgdG8gY29uZnVzaW5nIHJl
c3VsdHMuCisKIEBub2RlIEhpZGluZyBtaW5vciBtb2RlcwogQHNlY3Rpb24gSGlkaW5nIG1pbm9y
IG1vZGVzIHdpdGggZGltaW5pc2ggYW5kIGRlbGlnaHQKIEBjaW5kZXggaGlkaW5nIG1pbm9yIG1v
ZGVzCmRpZmYgLS1naXQgYS9saXNwL3VzZS1wYWNrYWdlL3VzZS1wYWNrYWdlLWNvcmUuZWwgYi9s
aXNwL3VzZS1wYWNrYWdlL3VzZS1wYWNrYWdlLWNvcmUuZWwKaW5kZXggYzA0MDUzYzIyYWMuLjRi
NjNkOTg1NjA0IDEwMDY0NAotLS0gYS9saXNwL3VzZS1wYWNrYWdlL3VzZS1wYWNrYWdlLWNvcmUu
ZWwKKysrIGIvbGlzcC91c2UtcGFja2FnZS91c2UtcGFja2FnZS1jb3JlLmVsCkBAIC0xNTg0LDcg
KzE1ODQsMTEgQEAgdXNlLXBhY2thZ2Utbm9ybWFsaXplLzpjdXN0b20tZmFjZQogKGRlZnVuIHVz
ZS1wYWNrYWdlLWhhbmRsZXIvOmN1c3RvbS1mYWNlIChuYW1lIF9rZXl3b3JkIGFyZ3MgcmVzdCBz
dGF0ZSkKICAgIkdlbmVyYXRlIHVzZS1wYWNrYWdlIGN1c3RvbS1mYWNlIGtleXdvcmQgY29kZS4i
CiAgICh1c2UtcGFja2FnZS1jb25jYXQKLSAgIChtYXBjYXIgIycobGFtYmRhIChkZWYpIGAoYXBw
bHkgIydmYWNlLXNwZWMtc2V0IChiYWNrcXVvdGUgLGRlZikpKSBhcmdzKQorICAgKG1hcGNhciAj
JyhsYW1iZGEgKGRlZikKKyAgICAgICAgICAgICAgIGAocHJvZ24KKyAgICAgICAgICAgICAgICAg
IChhcHBseSAjJ2ZhY2Utc3BlYy1zZXQgKGFwcGVuZCAoYmFja3F1b3RlICxkZWYpICcoZmFjZS1k
ZWZmYWNlLXNwZWMpKSkKKyAgICAgICAgICAgICAgICAgIChwdXQgJywoY2FyIGRlZikgJ2ZhY2Ut
bW9kaWZpZWQgdCkpKQorICAgICAgICAgICBhcmdzKQogICAgKHVzZS1wYWNrYWdlLXByb2Nlc3Mt
a2V5d29yZHMgbmFtZSByZXN0IHN0YXRlKSkpCiAKIDs7OzsgOmluaXQKQEAgLTE4NDgsNyArMTg1
Miw3IEBAIHVzZS1wYWNrYWdlCiA6Y3VzdG9tICAgICAgICAgIENhbGwgYEN1c3RvbS1zZXQnIG9y
IGBzZXQtZGVmYXVsdCcgd2l0aCBlYWNoIHZhcmlhYmxlCiAgICAgICAgICAgICAgICAgIGRlZmlu
aXRpb24gd2l0aG91dCBtb2RpZnlpbmcgdGhlIEVtYWNzIGBjdXN0b20tZmlsZScuCiAgICAgICAg
ICAgICAgICAgIChjb21wYXJlIHdpdGggYGN1c3RvbS1zZXQtdmFyaWFibGVzJykuCi06Y3VzdG9t
LWZhY2UgICAgIENhbGwgYGN1c3RvbS1zZXQtZmFjZXMnIHdpdGggZWFjaCBmYWNlIGRlZmluaXRp
b24uCis6Y3VzdG9tLWZhY2UgICAgIENhbGwgYGZhY2Utc3BlYy1zZXQnIHdpdGggZWFjaCBmYWNl
IGRlZmluaXRpb24uCiA6ZW5zdXJlICAgICAgICAgIExvYWRzIHRoZSBwYWNrYWdlIHVzaW5nIHBh
Y2thZ2UuZWwgaWYgbmVjZXNzYXJ5LgogOnBpbiAgICAgICAgICAgICBQaW4gdGhlIHBhY2thZ2Ug
dG8gYW4gYXJjaGl2ZS4KIDp2YyAgICAgICAgICAgICAgSW5zdGFsbCB0aGUgcGFja2FnZSBkaXJl
Y3RseSBmcm9tIGEgdmVyc2lvbiBjb250cm9sIHN5c3RlbQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNw
L3VzZS1wYWNrYWdlL3VzZS1wYWNrYWdlLXRlc3RzLmVsIGIvdGVzdC9saXNwL3VzZS1wYWNrYWdl
L3VzZS1wYWNrYWdlLXRlc3RzLmVsCmluZGV4IDg1NTRiMzdkNWI4Li5iMjIxYzVkZTVjMSAxMDA2
NDQKLS0tIGEvdGVzdC9saXNwL3VzZS1wYWNrYWdlL3VzZS1wYWNrYWdlLXRlc3RzLmVsCisrKyBi
L3Rlc3QvbGlzcC91c2UtcGFja2FnZS91c2UtcGFja2FnZS10ZXN0cy5lbApAQCAtMTE1Myw3ICsx
MTUzLDEyIEBAIHVzZS1wYWNrYWdlLXRlc3QvOmN1c3RvbS1mYWNlLTEKICAgKG1hdGNoLWV4cGFu
c2lvbgogICAgKHVzZS1wYWNrYWdlIGZvbyA6Y3VzdG9tLWZhY2UgKGZvbyAoKHQgKDpiYWNrZ3Jv
dW5kICIjZTRlZGZjIikpKSkpCiAgICBgKHByb2duCi0gICAgICAoYXBwbHkgIydmYWNlLXNwZWMt
c2V0IChiYWNrcXVvdGUgKGZvbyAoKHQgKDpiYWNrZ3JvdW5kICIjZTRlZGZjIikpKSkpKQorICAg
ICAgKHByb2duCisgICAgICAgIChhcHBseSAjJ2ZhY2Utc3BlYy1zZXQKKyAgICAgICAgICAgICAg
IChhcHBlbmQgKGJhY2txdW90ZSAoZm9vICgodCAoOmJhY2tncm91bmQgIiNlNGVkZmMiKSkpKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgJyhmYWNlLWRlZmZhY2Utc3BlYykpCisgICAgICAgICAg
ICAgICApCisgICAgICAgIChwdXQgJ2ZvbyAnZmFjZS1tb2RpZmllZCB0KSkKICAgICAgIChyZXF1
aXJlICdmb28gbmlsIG5pbCkpKSkKIAogKGVydC1kZWZ0ZXN0IHVzZS1wYWNrYWdlLXRlc3QvOmN1
c3RvbS1mYWNlLTIgKCkKQEAgLTExNjMsMTkgKzExNjgsNDIgQEAgdXNlLXBhY2thZ2UtdGVzdC86
Y3VzdG9tLWZhY2UtMgogICAgICAoZXhhbXBsZS0xLWZhY2UgKCh0ICg6Zm9yZWdyb3VuZCAiTGln
aHRQaW5rIikpKSkKICAgICAgKGV4YW1wbGUtMi1mYWNlICgodCAoOmZvcmVncm91bmQgIkxpZ2h0
R3JlZW4iKSkpKSkKICAgIGAocHJvZ24KLSAgICAgIChhcHBseSAjJ2ZhY2Utc3BlYy1zZXQKLSAg
ICAgICAgICAgICAoYmFja3F1b3RlIChleGFtcGxlLTEtZmFjZSAoKHQgKDpmb3JlZ3JvdW5kICJM
aWdodFBpbmsiKSkpKSkpCi0gICAgICAoYXBwbHkgIydmYWNlLXNwZWMtc2V0Ci0gICAgICAgICAg
ICAgKGJhY2txdW90ZSAoZXhhbXBsZS0yLWZhY2UgKCh0ICg6Zm9yZWdyb3VuZCAiTGlnaHRHcmVl
biIpKSkpKSkKKyAgICAgIChwcm9nbgorICAgICAgICAoYXBwbHkgIydmYWNlLXNwZWMtc2V0Cisg
ICAgICAgICAgICAgICAoYXBwZW5kIChiYWNrcXVvdGUgKGV4YW1wbGUtMS1mYWNlICgodCAoOmZv
cmVncm91bmQgIkxpZ2h0UGluayIpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAnKGZhY2Ut
ZGVmZmFjZS1zcGVjKSkpCisgICAgICAgIChwdXQgJ2V4YW1wbGUtMS1mYWNlICdmYWNlLW1vZGlm
aWVkIHQpKQorICAgICAgKHByb2duCisgICAgICAgIChhcHBseSAjJ2ZhY2Utc3BlYy1zZXQKKyAg
ICAgICAgICAgICAgIChhcHBlbmQgKGJhY2txdW90ZSAoZXhhbXBsZS0yLWZhY2UgKCh0ICg6Zm9y
ZWdyb3VuZCAiTGlnaHRHcmVlbiIpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAnKGZhY2Ut
ZGVmZmFjZS1zcGVjKSkpCisgICAgICAgIChwdXQgJ2V4YW1wbGUtMi1mYWNlICdmYWNlLW1vZGlm
aWVkIHQpKQogICAgICAgKHJlcXVpcmUgJ2V4YW1wbGUgbmlsIG5pbCkpKSkKIAogKGVydC1kZWZ0
ZXN0IHVzZS1wYWNrYWdlLXRlc3QvOmN1c3RvbS1mYWNlLTMgKCkKICAgKG1hdGNoLWV4cGFuc2lv
bgogICAgKHVzZS1wYWNrYWdlIGZvbyA6Y3VzdG9tLWZhY2UgKGZvbyAoKHQgKDpiYWNrZ3JvdW5k
ICIjZTRlZGZjIikpKSBmYWNlLWRlZnNwZWMtc3BlYykpCiAgICBgKHByb2duCi0gICAgICAoYXBw
bHkgIydmYWNlLXNwZWMtc2V0IChiYWNrcXVvdGUgKGZvbyAoKHQgKDpiYWNrZ3JvdW5kICIjZTRl
ZGZjIikpKSBmYWNlLWRlZnNwZWMtc3BlYykpKQorICAgICAgKHByb2duCisgICAgICAgIChhcHBs
eSAjJ2ZhY2Utc3BlYy1zZXQKKyAgICAgICAgICAgICAgIChhcHBlbmQgKGJhY2txdW90ZSAoZm9v
ICgodCAoOmJhY2tncm91bmQgIiNlNGVkZmMiKSkpIGZhY2UtZGVmc3BlYy1zcGVjKSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgJyhmYWNlLWRlZmZhY2Utc3BlYykpKQorICAgICAgICAocHV0ICdm
b28gJ2ZhY2UtbW9kaWZpZWQgdCkpCiAgICAgICAocmVxdWlyZSAnZm9vIG5pbCBuaWwpKSkpCiAK
KyhlcnQtZGVmdGVzdCB1c2UtcGFja2FnZS10ZXN0LzpjdXN0b20tZmFjZS00ICgpCisgIChkZWZm
YWNlIHVzZS1wYWNrYWdlLXRlc3QvYmFzZS1mYWNlICcoKHQgKDpiYWNrZ3JvdW5kICJncmVlbiIp
KSkgIiIpCisgIChkZWZmYWNlIHVzZS1wYWNrYWdlLXRlc3QvZmFjZSAnKCh0ICg6aW5oZXJpdCB1
c2UtcGFja2FnZS10ZXN0L2Jhc2UtZmFjZSkpKSAiIikKKyAgKHVzZS1wYWNrYWdlIGVtYWNzCisg
ICAgOmN1c3RvbS1mYWNlCisgICAgKHVzZS1wYWNrYWdlLXRlc3QvZmFjZSAoKHQgKDpmb3JlZ3Jv
dW5kICJibHVlIikpKSkpCisgIChzaG91bGQgKGVxdWFsIChmYWNlLWZvcmVncm91bmQgJ3VzZS1w
YWNrYWdlLXRlc3QvZmFjZSBuaWwgdCkKKyAgICAgICAgICAgICAgICAgImJsdWUiKSkKKyAgKHNo
b3VsZCAoZXF1YWwgKGZhY2UtYmFja2dyb3VuZCAndXNlLXBhY2thZ2UtdGVzdC9mYWNlIG5pbCB0
KQorICAgICAgICAgICAgICAgICBuaWwpKQorICAoc2hvdWxkIChlcXVhbCAoZ2V0ICd1c2UtcGFj
a2FnZS10ZXN0L2ZhY2UgJ2ZhY2UtbW9kaWZpZWQpCisgICAgICAgICAgICAgICAgIHQpKSkKKwog
KGVydC1kZWZ0ZXN0IHVzZS1wYWNrYWdlLXRlc3QvOmluaXQtMSAoKQogICAobWF0Y2gtZXhwYW5z
aW9uCiAgICAodXNlLXBhY2thZ2UgZm9vIDppbml0IChpbml0KSkKLS0gCjIuNDkuMAoK
--000000000000cd024b063327a735--




Acknowledgement sent to Michael Shields <shields@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#77928; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 26 Apr 2025 13:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.