Command Input Window tab completion broken

rps

Jul 6, 2008
300
4
#1
TCC 17.00.43 x64 Windows 7 [Version 6.1.7601]

With the completeinternals & completealiases set to YES, the TCMD session crashes when I attempt to enter a partial alias or internal command and then use TAB in the Command input window. The TCC processes are left hidden.

Code:
C:\JPSoft>echo %@iniread[%_ininame,takecommand,completeinternals]
Yes

C:\JPSoft>echo %@iniread[%_ininame,takecommand,completealiases]
Yes
Example:
  1. Select Command Input tab (set to auto hide)
  2. AD -> TAB
  3. TCMD session crashes
  4. restart TCMD
  5. tasklist tcc
  6. Code:
    C:\JPSoft>tasklist tcc
       3356  tcc               V17.00 [3356]
       7920  tcc               V17.00 [7920]
       7876  tcc               Batch Editing [7876]
       3592* tcc               V17.00 [3592] - tasklist tcc
       6724  tcc               V17.00 [6724]
       4504  tcc               Batch Editing [4504]
    The bottom 3 TCC's are automatically started with the new TCMD session, the top 3 are left from the crashed session. These detached/hidden TCC tasks will attach to the current TCMD.
TAB completion works as documented from the TCC prompt.
 

rconn

Administrator
Staff member
May 14, 2008
10,555
97
#3
I have to wonder what CompleteAliases and CompleteInternals could possibly mean in the context of Take Command, as opposed to TCC. Take Command has neither aliases nor internal commands. Why are those directives even valid?
TCMD does have aliases, if you have a global alias list. (Besides command completion, they're used in expanding directory aliases in TCMD.) TCMD also has a list of the internal TCC commands.

The problem in build 44 is that it wasn't checking for a null (non-existent) global alias list. I've fixed that for build 45. Internal command completion only (i.e., alias completion turned off) works for me in build 44.
 

rps

Jul 6, 2008
300
4
#4
Still not working as documented in TCC 17.00.46 x64 Windows 7 [Version 6.1.7601].

With CompleteAliases and CompleteInternals both set to YES, the command input does not TAB complete aliases.

If I enter z -> tab the popup selection box shows internal commands only, no aliases.

At the command line, after each TAB, I get all the defined aliases then the internal commands in order.

In TCMD, if I set CompleteInternals to NO -> close TCMD -> start TCMD, then enter z -> tab the command input window just beeps, with no pop-up.

I do have aliases defined for all the entries I have been trying in the command input window.

Next I will reboot and try CompleteAliases== NO and CompleteInternals ==YES.

Rebooted and with CompleteAliases== NO and CompleteInternals ==YES, then enter z -> tab the command input window pop-up displays internal commands as documented.

From these tests it appears that TAB completion of Aliases, in the command input window, is not working as documented.

TAB completion does work at the command prompt.
 
Last edited:

rps

Jul 6, 2008
300
4
#6
Are you using global aliases? If not, TCMD cannot complete them (because they're local to each TCC session). It's working here with global aliases set.
I am using global aliases. I also tried turning CompleteInternals == NO, in combination with a cold boot.
Code:
C:\JPSoft>echo %@iniread[c:\jpsoft\TCMD17x64_Beta\tcmdOneTccTab.ini,4nt,localaliases]
No
Tab alias completion, in the command input window, is still not working on my system.
TCC 17.00.50 x64 Windows 7 [Version 6.1.7601]
 

rps

Jul 6, 2008
300
4
#8
Are you creating your global alias list *after* TCMD starts? (I.e., if you create your aliases in a TCC tab window, the global shared memory won't be there for TCMD to find when it starts up.)
Interesting. So how do I create a global alias list before TCMD starts?
I normally just start TCMD with 3 pre-defined tabs, reading the aliases during the TCMD/TCC tab start-up. I very rarely use stand-alone TCC or multiple TCMD sessions.

I think this means I must start a stand-alone TCC session, with global aliases, or two separate TCMDs with at least one TCC tab, with global aliases, before using TAB alias completion in TCMD.

If this is the case some further explanation in the docs would be very helpful.