Subject: Re: bug#48839: 28.0.50; Emacs freezes and takes 100% CPU with C-h v l

From: Tassilo Horn <[email-masked]>
Date: Sat, 05 Jun 2021 10:30:40 +0200

> Yes, with this patch I can make the issue go away with no observable
> difference in the things marginalia displays.
>
> diff -u --label /home/horn/.emacs.d/elpa/marginalia-20210530.158/marginalia.el --label \#\<buffer\ marginalia.el\> /home/horn/.emacs.d/elpa/marginalia-20210530.158/marginalia.el /tmp/buffer-content-yqLXyF
> --- /home/horn/.emacs.d/elpa/marginalia-20210530.158/marginalia.el
> +++ #<buffer marginalia.el>
> @@ -450,8 +450,12 @@
>       ((marginalia--symbol-class sym) :face 'marginalia-type)
>       ((let ((print-escape-newlines t)
          ^^^
Ah, sorry, this ought to become a `let*' now.

>              (print-escape-control-characters t)
> -            (print-escape-multibyte t))
> -        (prin1-to-string (if (boundp sym) (symbol-value sym) 'unbound)))
> +            (print-escape-multibyte t)
> +            (str-val (prin1-to-string
> +                      (if (boundp sym)
> +                          (symbol-value sym)
> +                        'unbound))))
> +        (substring str-val 0 (min (length str-val) 300)))
>        :truncate (/ marginalia-truncate-width 3) :face 'marginalia-variable)
>       ((documentation-property sym 'variable-documentation)
>        :truncate marginalia-truncate-width :face 'marginalia-documentation))))

Bye,
Tassilo