Subject: bug#62009: 29.0.60; Emacs crashes on setf symbol-name

From: Daniel Mendler <[email-masked]>
Date: Fri, 10 Mar 2023 11:31:22 +0100

On 3/10/23 10:40, Gregory Heytings wrote:
> Instead of raising a signal, I suggest:
> 
> diff --git a/src/data.c b/src/data.c
> index 0f1d881e00b..76867d6787e 100644
> --- a/src/data.c
> +++ b/src/data.c
> @@ -780,7 +780,7 @@ DEFUN ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 
> 1, 0,
> 
>     CHECK_SYMBOL (symbol);
>     name = SYMBOL_NAME (symbol);
> -  return name;
> +  return build_string (SSDATA (name));
>   }
> 
>   DEFUN ("bare-symbol", Fbare_symbol, Sbare_symbol, 1, 1, 0,

Creating a string is not a good idea since it will lead to an
unacceptably large performance overhead. Raising an exception upon
modification would be the best approach.

Daniel