Hi!

Starting with GNU ed 1.22.2, the shell command (!) escapes the
executed command when printing it due to a performed replacement.
As an example consider:

        > !printf 'foo\nbar\nbaz\n'
        foo
        bar
        baz
        !
        > !!
        printf 'foo\\nbar\\nbaz\\n'
        foo
        bar
        baz
        !

I would consider this a bug as `printf 'foo\\nbar\\nbaz\\n'` is
semantically not the same sh(1) command as `printf 'foo\nbar\nbaz\n'`
and has a different output. Consequentially, I believe the
implementation of the shell escape command should not use
print_escaped() to output the shcmd.

Greetings,
Sören

Reply via email to