ConEmu icon indicating copy to clipboard operation
ConEmu copied to clipboard

Postponed Script fail to interpret escape sequence correctly

Open vds2212 opened this issue 4 years ago • 1 comments

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

  1. Start ConEmu64
  2. 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

vds2212 avatar Apr 12 '20 09:04 vds2212

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.

killroy42 avatar Dec 23 '23 14:12 killroy42