Subject: bug#48479: 28.0.50; Crash on `read--expression'

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 25 May 2021 07:05:56 +0200

Mattias Engdegård <[email-masked]> writes:

> 19 maj 2021 kl. 20.58 skrev Lars Ingebrigtsen <[email-masked]>:
>
>> I was thinking of the
>> 
>> (condition-case nil
>>    (foo)
>>  (error))
>> 
>> case...  (I.e., with a missing handler body.)  I'm not sure whether
>> that's supposed to or not.
>
> Thank you, and yes, that is valid; a body can be empty (it's an
> implicit progn).
> I don't think an empty body in an error handler warrants a warning
> more than anywhere else. Do you?

Not really -- it's just not explicitly stated that the empty version is
allowed, but I guess it can be reasonably inferred (and that the return
value of emptiness is nil).

>> (condition-case nil
>>    (foo))
>> 
>> doesn't give a warning.
>
> Right, but its meaning is also well-defined and could even be useful
> in a macro. I'm slightly more inclined to accept a warning here, but
> we are drifting away from the original question: for syntactically
> invalid handlers, like (), can we signal an error? I think we can.

On

(condition-case nil
   (foo)
  ())

?  A warning is nice, but I think signalling an error would be
excessive.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no