Subject: bug#52973: Adding a few context-menu-mode commands

From: Juri Linkov <[email-masked]>
Date: Tue, 04 Jan 2022 19:46:31 +0200

>> bug#50552 proposed to add to every package such lines:
>>
>>   (custom-add-choice 'context-menu-functions
>>                      '(function-item :tag "Dictionary menu" context-menu-dictionary))
>>
>> but 'custom-add-choice' fails on the current structure of
>> 'context-menu-functions', so either a new function 'custom-add-repeat-choice'
>> should be created, or better would be to improve the existing
>> 'custom-add-choice' to handle the choices inside 'repeat'.
>
> How about add-context-menu-items, or something to that effect?  We are
> talking about quite a different feature to "add", IMO, so a new API
> would be better, I think.  And it doesn't have to have anything to do
> with custom.el.

'custom-add-repeat-choice' can help to add more choices to the
customizable variable 'context-menu-functions', so it would be
easier for users to add a function from the package that the user
is really using.

> But in any case, we need to do this soon, because adding functions
> that are not used unless the user plays with hooks is not clean,
> definitely not for a feature such as this one, because it's supposed
> to be very easy, ideally seamless, to activate.  Otherwise it would be
> against the raisons d'être of the feature.

The main customization point is

  'M-x customize-variable RET context-menu-functions'

that will provide more choices with the help of
'custom-add-repeat-choice'.