Created attachment 207455 [details]
Patch for usr.bin/sed/sed.1
Apparently, when the -u, -i and -I options where added to sed(1), it was forgotten to add them to both lines in the SYNOPSIS section. They were only added to the second line, although they apply to both.
The SYNOPSIS section of the sed(1) manual page contains two distinct usage lines:
In the first usage, a separate <command> argument is present. In this case, the -e and -f options are NOT allowed.
In the second usage, one or more commands are specified using one or more -e and/or -f options. In this case, there is NO separate <command> argument.
ALL THE OTHER options (except -e and -f) can be used with BOTH usages, including the -u, -i and -I options. This can be easily verified by looking at the source code (usr.bin/sed/main.c), or by just trying it. For example, this command works perfectly fine, but it's disallowed by the SYNOPSIS currently:
sed -i BAK s/foo/bar/g some_file
Please see the attached patch; it fixes the problem. It applies cleanly to both head and stable/12.