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