Subject: bug#78738: (signal nil 5) crashes Emacs

From: Eli Zaretskii <[email-masked]>
Date: Tue, 10 Jun 2025 14:12:58 +0300

> Cc: [email-masked]
> Date: Tue, 10 Jun 2025 06:22:49 +0000
> From:  Pip Cet via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <[email-masked]>
> 
> "Daniel Colascione" <[email-masked]> writes:
> 
> > (signal nil 5) crashes Emacs
> 
> Good catch!
> 
> This would fix it, right?
> 
> diff --git a/src/eval.c b/src/eval.c
> index fbb881d682d..be6d1a0a9ac 100644
> --- a/src/eval.c
> +++ b/src/eval.c
> @@ -1888,7 +1888,7 @@ DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0,
>    (Lisp_Object error_symbol, Lisp_Object data)
>  {
>    /* If they call us with nonsensical arguments, produce "peculiar error".  */
> -  if (NILP (error_symbol) && NILP (data))
> +  if (NILP (error_symbol) && !CONSP (data))
>      error_symbol = Qerror;
>    signal_or_quit (error_symbol, data, false);
>    eassume (false);

Thanks.  If this keeps bug#32961 solved, please install on the
emacs-30 branch, since this is a regression in Emacs 30.