tab-complete for non-syntactic names could attempt backtick-wrapping
I personally wouldn't like using a string, and this comment makes me think it's against the r-core preference as well: https://bugs.r-project.org/show_bug.cgi?id=18429#c1 Thanks both for catching the sloppy mistake in vapply() :) Let's continue discussion on the bug/PR.
On Thu, Mar 2, 2023 at 12:39 AM Ivan Krylov <krylov.r00t at gmail.com> wrote:
There turn out to be a few more things to fix. One problem is easy to solve: vapply() needs a third argument specifying the type of the return value. (Can we have unit tests for tab completion?) The other problem is harder: `comps` defaults to an empty string, and you can't have a symbol consisting of an empty string, because this value is internally reserved for missing function arguments. I think you can return(paste0(prefix, op)) if length(comps) == 0L, but this is still somewhat worrying. R tries to prevent empty names, so I wouldn't expect specialOpCompletionsHelper() to return an empty string, but I can't prove it right now. On the other hand, x$'a string' is the same as x$`a string`. Could we just drop as.name() and keep the return value being a string literal? I'm not sure about this, either. -- Best regards, Ivan