Subject: Re: bug#63288: 30.0.50; Emacs 30 packages fail to build with native comp on some machines

From: "Basil L. Contovounesios" <[email-masked]>
Date: Wed, 19 Feb 2025 22:34:34 +0100

Pip Cet [2025-02-19 20:06 +0000] wrote:
> "Basil L. Contovounesios" <[email-masked]> writes:
>> Pip Cet [2025-02-17 15:16 +0000] wrote:
>>> "Stefan Monnier" <[email-masked]> writes:
>>>
>>>> For the case at hand, I think a better option is to add keyword
>>>> arguments to `cl-defstruct` to control whether accessors need to check
>>>> the type of their arg.
>>
>>> That makes sense to me. Setting byte-compile-delete-errors means you
>>> cannot compile any "normal" Elisp code, not just skipped type checks.
>>> It's -Ofast, not -DNDEBUG; you should never use the former, only the
>>> latter.
>>
>> Does setting byte-compile-delete-errors actually have the same effect?
>> I couldn't get it to behave like (cl-declaim (optimize (safety 0)))
>> for cl-defstruct accessors.
>
> I'm not sure I understand.  byte-compile-delete-errors will cause the
> compilation errors described, but I don't think it would change the code
> generated by cl-defstruct....

Then I misunderstood your message, sorry.

[ You mentioned byte-compile-delete-errors in a reply to cl-defstruct
  accessors, and the 'optimize' entry under (info "(cl) Declarations")
  ties b-c-d-e to the 'safety' quality, which is the same quality which
  affects cl-defstruct accessor generation, so I assumed the same link
  in your reply. ]

-- 
Basil