#20940
atnak
Participant

To work around this, you can select the “Custom” for the Input, and then enter “$(DocText)” for the “Custom” text box, and make sure the “Add EOF” check box is cleared.

Thanks for the update and workaround. I can confirm it works correctly with Custom input of “$(DocText)”.

On the next version, I will make the “Add EOF” check box enabled even when “Selection” or “Document” is selected.

I’m not altogether certain what the purpose of this is, since a real EOF is received by the external program when EmEditor closes the pipe.

I tested with this program to confirm EmEditor is properly closing the pipe. I get the output “a$” to the input “a” when “Add EOF” is off, and “a<0x1a>$” when it’s checked.

static class Program
{
    static void Main(string[] args)
    {
        for (int c; (c = System.Console.Read()) != -1;)
        {
            System.Console.Write((char)c);
        }
        System.Console.Write("$");
    }
}

At the very least, I think the checkbox is ill-named as it can be confused with the real EOF (closing of an input stream) which that checkbox has nothing to do with. Maybe a name such as “Add &1AH (Ctrl-Z) byte” can avoid this confusion.