Subject: bug#18125: file-precious-flag breaks symlinks

From: Eli Zaretskii <[email-masked]>
Date: Fri, 04 Dec 2020 14:07:50 +0200

> From: Lars Ingebrigtsen <[email-masked]>
> Date: Fri, 04 Dec 2020 12:40:19 +0100
> Cc: [email-masked]
> 
> Glenn Morris <[email-masked]> writes:
> 
> > touch foo
> > ln -s foo bar
> > emacs-24.3.92  -Q --eval '(setq file-precious-flag t)' bar
> > change bar and save
> >    -> bar is no longer a symlink
> >
> > AFAICS, it has always (since at least 22.3) been like this.
> > Does it have to be, though? Why can't it overwrite the target of the link?
> 
> This behaviour is still present in Emacs 28.
> 
> > In any case, the doc only mentions breaking hardlinks.
> >
> > Setting find-file-visit-truename non-nil avoids the problem.
> 
> I'm not sure whether this is a bug or whether it makes sense.  I'm
> leaning towards...  bug?  Perhaps?  Anybody got an opinion here?

IMO, we could provide the alternative behavior as opt-in, conditioned
on a new option.  It is not clear to me that everyone will want to
overwrite the target, so an incompatible change here must be an
opt-in.