By the way, if anyone wants a fix for this bug, here it is: In lib/readline/funmap.c, around line 107, make "menu-complete" map to rl_old_menu_complete:
{ "menu-complete", rl_old_menu_complete }, In lib/readline/complete.c, around line 2443, comment out the if-loop: /*if (match_list_size > 1 && _rl_complete_show_all) display_matches (matches);*/ Then compile and install. Works great now. On Tue, Mar 15, 2011 at 11:24 AM, Chet Ramey <chet.ra...@case.edu> wrote: > On 3/15/11 11:13 AM, Alan wrote: >> Thanks for the response! >> >> The problem is, if I turn off 'show-all-if-ambiguous', hitting tab >> won't display all the possible completions. I like the old behavior of >> 'menu-complete' because if I wanted to display the completions, I >> could always hit tab before purely cycling through the choices with >> 'menu-complete.' So it gives more flexibility in my opinion. >> >> Plus, I expected something with the name, 'old-menu-complete,' to >> behave like the old 'menu-complete' did, but I digress... > > Sure, modulo any bug fixes. It was, as I said, a bug that the menu > completion function didn't behave like other completion functions and > honor the setting of show-all-if-ambiguous. That was changed in the > readline-6.2 development cycle before I changed the behavior more > radically and split the old from the new. > >> What would be the best way for me to make old-menu-complete behave >> like menu-complete did pre-readline-6.0? (In other words, behave like >> 'show-all-if-ambiguous' is off, while it is really on for other stuff >> like tab.) Would it be best to write some sort of bash function? Or >> would it be better to just modify the source code? > > You'll have to modify the source code. > > Chet > -- > ``The lyf so short, the craft so long to lerne.'' - Chaucer > ``Ars longa, vita brevis'' - Hippocrates > Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/