This is due to using rename(), in the file lib/utils.c (is sed's source) at line 324 in the function: ck_rename (from, to, unlink_if_fail):
int rd = rename (from, to);
from is now a tmp-file and to is the original file. According to the manpage of rename(2):
If oldpath refers to a symbolic link the link is renamed; if newpath refers to a symbolic link the link will be overwritten.
So the later thing happens.
This is due to using rename(), in the file lib/utils.c (is sed's source) at line 324 in the function:
ck_rename (from, to, unlink_if_fail):
int rd = rename (from, to);
from is now a tmp-file and to is the original file. According to the manpage of rename(2):
If oldpath refers to a symbolic link the link is renamed; if newpath refers to a symbolic link
the link will be overwritten.
So the later thing happens.