From: sbaugh@catern.com
To: Eli Zaretskii <eliz@gnu.org>
Cc: Spencer Baugh <sbaugh@janestreet.com>, 66326@debbugs.gnu.org
Subject: bug#66326: 29.1.50; There should be a way to promote warnings to errors
Date: Tue, 03 Oct 2023 19:16:09 +0000 (UTC) [thread overview]
Message-ID: <87wmw3zfd3.fsf@catern.com> (raw)
In-Reply-To: <83y1gj5ya9.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 03 Oct 2023 21:57:50 +0300")
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Spencer Baugh <sbaugh@janestreet.com>
>> Date: Tue, 03 Oct 2023 14:39:02 -0400
>>
>> +(defcustom warning-to-error-types nil
>> + "List of warning types to signal as an error instead.
>> +If any element of this list matches the TYPE argument to `display-warning',
>> +an error is signaled instead of logging a warning.
> ^^^^^^^^^^^^^^^^^^^^
> Passive voice alert!
>
>> (defun display-warning (type message &optional level buffer-name)
>> "Display a warning message, MESSAGE.
>> @@ -263,105 +278,109 @@ display-warning
>> disable automatic display of the warning or disable the warning
>> entirely by setting `warning-suppress-types' or
>> `warning-suppress-log-types' on their behalf."
>> - (if (not (or after-init-time noninteractive (daemonp)))
>> - ;; Ensure warnings that happen early in the startup sequence
>> - ;; are visible when startup completes (bug#20792).
>> - (delay-warning type message level buffer-name)
>> - (unless level
>> - (setq level :warning))
>> - (unless buffer-name
>> - (setq buffer-name "*Warnings*"))
>> + (unless level
>> + (setq level :warning))
>> + (unless buffer-name
>> + (setq buffer-name "*Warnings*"))
>> + (cond
>> + ((< (warning-numeric-level level)
>> + (warning-numeric-level warning-minimum-log-level)))
>> + ((warning-suppress-p type warning-suppress-log-types))
>> + ((warning-suppress-p type warning-to-error-types)
>> + (warning-to-error type message level))
>> + ((not (or after-init-time noninteractive (daemonp)))
>> + ;; Ensure warnings that happen early in the startup sequence
>> + ;; are visible when startup completes (bug#20792).
>> + (delay-warning type message level buffer-name))
>> + (t
>
> AFAICT, this reorders parts of the evaluation, and thus changes the
> semantics/behavior. Please try to keep the order of the evaluation
> the same as it was, to avoid unintended consequences. (It will also
> make the patch review easier.)
Unfortuantely it's not possible to avoid either reordering the
evaluation or duplicating some parts of it. Because, of course we want
a warning to not become an error if it's listed in
warning-suppress-log-types, and we do want it to become an error even if
it occurs early in the startup sequence. So the
warning-suppress-log-types check has to happen before the to-error
check, and the to-error check has to happen before the early-startup
check.
But currently the warning-suppress-log-types check is after the
early-startup check. Reordering them doesn't actually change behavior,
because the early-startup check just delays the warning, so it should be
fine.
I can separate out the reordering change into a separate patch if you
like, then you can see that it should not change behavior.
next prev parent reply other threads:[~2023-10-03 19:16 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-03 16:38 bug#66326: 29.1.50; There should be a way to promote warnings to errors Spencer Baugh
2023-10-03 18:39 ` Spencer Baugh
2023-10-03 18:57 ` Eli Zaretskii
2023-10-03 19:16 ` sbaugh [this message]
2023-10-04 5:59 ` Eli Zaretskii
2023-10-04 12:20 ` Spencer Baugh
2023-10-14 7:27 ` Eli Zaretskii
2023-10-14 22:25 ` sbaugh
2023-10-15 5:45 ` Eli Zaretskii
2023-10-16 19:26 ` Spencer Baugh
2023-10-19 12:13 ` Eli Zaretskii
2023-10-19 14:50 ` Spencer Baugh
2023-10-19 15:07 ` Eli Zaretskii
2023-10-19 15:18 ` Spencer Baugh
2023-10-19 15:42 ` Eli Zaretskii
2023-10-19 16:15 ` Spencer Baugh
2023-10-20 7:20 ` Eli Zaretskii
2023-10-21 9:12 ` Stefan Kangas
2023-10-21 13:43 ` sbaugh
2023-11-10 21:40 ` Spencer Baugh
2023-11-11 7:02 ` Eli Zaretskii
2023-11-11 14:37 ` Spencer Baugh
2023-11-11 14:51 ` Eli Zaretskii
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=87wmw3zfd3.fsf@catern.com \
--to=sbaugh@catern.com \
--cc=66326@debbugs.gnu.org \
--cc=eliz@gnu.org \
--cc=sbaugh@janestreet.com \
/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.