Subject: bug#66394: 29.1; Make register-read-with-preview more useful

From: Stefan Monnier <[email-masked]>
Date: Mon, 20 Nov 2023 12:33:57 -0500

> Ccing also Stefan monnier because for some reasons the patch when
> applied doesn't compile (when compiling Emacs) unless we add on
> top:
>
>     (cl--generic-prefill-dispatchers 0 (eql 'x) integer)
>
> following the advice of the compiler,

Indeed, this is needed because `register.el` is preloaded and method
dispatcher are generated&compiled "on the fly" but we don't want to
preload the compiler, so we want to pre-compile the dispatchers used
by the preloaded code.

> but I am not sure it is the way to do.

`cl--generic-prefill-dispatchers` is not guaranteed to be defined when
we load `register.el` (it's only defined if we loaded the non-compiled
version of `cl-generic.el`) so the above call should be in
`cl-generic.el` rather than in `register.el`.

I'd put it next to the following block:

    (cl--generic-prefill-dispatchers 0 (eql nil))
    (cl--generic-prefill-dispatchers window-system (eql nil))
    (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--get-selection)
                                     (eql nil))
    (cl--generic-prefill-dispatchers (terminal-parameter nil 'xterm--set-selection)
                                     (eql nil))

which is already about dispatchers needed to support other files.

        Stefan