Hello. Several time I was annoying by loosing history when started another TCC session. Now I'm ready to define an issue. Environment: TCC 16.03.55 Windows 7 [Version 6.1.7601] or: TCC LE 13.06.77 Windows 7 [Version 6.1.7601] Settings: Code: History=509952 HistCopy=No HistMove=Yes HistWrap=Yes HistCase=No HistDups=Last HistFile=Z:\History.dat LocalHistory=No tcStart.bat Code: @*Echo === tcStart === @*History @*Echo =============== and History.dat: Code: dir 1 dir 2 dir 3 Scenario: Start tcc.exe Code: === tcStart === dir 1 dir 2 dir 3 =============== OK. Some commands: Code: dir 2 @history And the result is: Code: dir 1 dir 3 dir 2 Very good, as expected. Now let's start another TCC session: Code: === tcStart === dir 1 dir 3 dir 2 dir 1 dir 2 dir 3 =============== It looks, that: Tcc.exe uses history from global history (the first three lines), then appends History.dat. Would be OK. Don't execute anything in that session, go back to the first session: Code: @history And the result is: Code: dir 1 dir 3 dir 2 dir 1 dir 2 dir 3 Ooops. I've got history shared from second session. My last issued command "dir 2" is not he last one. Ma last activities are hidden by re-read of history.dat file. It is a simple example, the real problem is: I issued dozens of commands. All of them are available to be recalled/reviewed using just several "Up" cursor keys. Starting second shell - my work is hidden by thousands of commands reread from history file. I'm not sure, if my last activities are hidden, or may be they are lost (due to size of history exceeding limit). IMHO: order of operations should be reversed: 1st read from history file, 2nd append from global list.