I came across the problem when I was using `C-u C-x =' on a SLIME
presentation. After some debugging, I found out the cause of the
problem. Here is it:
In a slime REPL buffer, when the evaluation result is rendered, SLIME
adds text properties using `slime-add-presentation-properties'. One
of the text properties is a syntax-table `slime-presentation-syntax-table'.
`C-u C-x =' calls `(describe-char (point))', which in turn calls
`describe-text-properties', which hangs with 100% cpu usage.
I think a possible fix could be done in `describe-property-list', adding
a case in cond to handle the type of syntax-table, something like:
diff --git a/lisp/descr-text.el b/lisp/descr-text.el
index 6c7983a177..926103f35e 100644
--- a/lisp/descr-text.el
+++ b/lisp/descr-text.el
@@ -90,6 +90,7 @@ describe-property-list
'type 'help-face 'help-args (list value)))
((widgetp value)
(describe-text-widget value))
+ ((syntax-table-p value) (insert "#<syntax table>"))
(t
(describe-text-sexp value))))
(insert "\n")))