ConEmu
ConEmu copied to clipboard
Postponed Script fail to interpret escape sequence correctly
Versions
ConEmu build: 191012 x64 OS version: Windows 10 x64 Used shell version (cmd):
Problem description
When ConEmuC64 is used to run a macro, if it has to postpone the execution of a step (return value PostponedRCon), the execution of the postponed macro is different to the execution of the same macro that doesn't has to be postponed, in particular in regards to the escape sequences like \ or \e.
Steps to reproduce
- Start ConEmu64
- Run the following batch script
"C:\Program Files\ConEmu\ConEmu\ConEmuC64.exe" /GUIMACRO:0 Recreate(0,0);
"C:\Program Files\ConEmu\ConEmu\ConEmuC64.exe" /GUIMACRO:0 Print("hello \\e tom");
Actual results
A new console tab is created with the text: tom
Expected results
A new console is tab created in ConEmu with the text: hello \e tom
Remark
If a pause is introduced between the two executions. The second script is not postponed and the result is correct.
"C:\Program Files\ConEmu\ConEmu\ConEmuC64.exe" /GUIMACRO:0 Recreate(0,0);
pause
"C:\Program Files\ConEmu\ConEmu\ConEmuC64.exe" /GUIMACRO:0 Print("hello \\e tom");
It seems that when a script is postponed the way the escape sequence is interpreted is different. I didn't manage to deduce the logic
Hmm, a recent update broke this for me. Most of my regular scripts don't work anymore with this error. I have a lot of tasks like this: cmd.exe -cur_console:p1:d:"C:\gitroot\ctcapp":t:"sync-api":n /k conemuc64 -GuiMacro Print "bash -li\n"; Print "npm run sync-api";
Now the command from an earlier task are run in a different tab. I don't even know how.