I already saw the discussion, because several people asked me about
repeatability of custom text objects implemented with vim-textobj-user
and most of them also told me the link.
But I don't believe that repeat.vim is a right solution for the problem.
repeat.vim is to enable repeatability for custom operators which take
extra arguments such as a {target} for ys{motion}{target} provided by
surround.vim. Repeatability of custom motions and custom text objects
should be covered by another layer. Especially, the "solution" posted
in the discussion
https://github.com/tpope/vim-repeat/issues/8#issuecomment-13951082
does not work with custom operators using repeat.vim.
> In my opinion, the redo buffer should be the same in both of your
> examples, namely "d:call Select()\n". But since there is only one redo
> buffer and you can call functions/:normal recursively, there's always
> the chance of it being overwritten.
>
> Folks, would it make sense to add another "top-level" redo buffer? This
> would be left untouched by nested :normal commands.
Thank you for the summary. It seems to be reasonable for me, but there
might be drawbacks about compatibility or difficulty for further
maintenance. I'd like to hear others' opinions.