Unfortunately, on Windows, it looks like this behavior is tightly related to the C code used to create the console. So the answer seems to be โno, you can't turn it offโ (at least without changing the sources and then recompiling R from scratch).
Here are the relevant lines from $RHOME/src/gnuwin32/console.c :
909 static void performCompletion(control c) 910 { 911 ConsoleData p = getdata(c); 912 int i, alen, alen2, max_show = 10, cursor_position = p->c - prompt_wid; ... ... 1001 if (alen > max_show) 1002 consolewrites(c, "\n[...truncated]\n");
You are correct that on some other platforms all results are printed. (For example, I often use Emacs, and it displays all the results of filling the tab in a separate buffer).
As an interesting note, rcompgen , the backend that actually completes the tab rcompgen (unlike the print results on the console), always finds all the improvements. Windows just doesn't print them for us.
You can verify that this happens even on Windows by typing:
library(Matrix) Matrix:: ## Then type <TAB> <TAB> ## Then type <RET> rc.status() ## Careful not to use tab-completion to complete rc.status ! matches <- rc.status()$comps length(matches) # -> 288 matches # -> lots of symbols starting with 'Matrix::'
For more information about the backend and the functions and parameters that control its behavior, see ?rcompgen .
Josh o'brien
source share