2014/11/03: ed(1) and piping through a process

ed(1) is a classical editor under Unix. It allows interaction with other programs by calling a shell command, writing to a pipe, and reading from a pipe. However, as opposed to vi(1), it does not support taking a part of the buffer, piping it through a process, and replacing that part of the buffer by stdout of the process.

It is not hard to patch ed to support piping through a process. Given that the old behaviour is to error out if a range is given to the !-command ("unexpected address") this extension also conservative. I've added it locally on my private machines.