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

From: Thierry Volpiatto <[email-masked]>
Date: Mon, 20 Nov 2023 18:51:10 +0000

Hello Stefan,

Stefan Monnier <[email-masked]> writes:

>> 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.

I will for now leave the call to `cl--generic-prefill-dispatchers` in
the patch as a reminder that it should be added instead in cl-defgeneric
once merging.

Thanks for your explanation.

-- 
Thierry