Subject: bug#1092: compilation-goto-error goes to wrong location when buffer has hidden regions

From: Stefan Monnier <[email-masked]>
Date: Tue, 05 Jan 2016 12:12:51 -0500

>> Declaring a feature obsolete doesn't resolve any problem.
>> It just expresses our intent not to resolve those problems.
> I think it expresses our intent to remove the feature at some point.

That's also true.

> It doesn't necessarily follow that we will let it bitrot until then.

Usually we try to keep it working, i.e. we try to fix *new* bugs.
But we normally stop trying to improve it, so there's no need to fix
bugs that existed long before.

> I understand your intention very well, but I don't agree with such a
> policy.  I think as long as the feature is not deleted, we ought to
> fix bugs in it, unless the fix is very complex or could adversely
> affect other packages, or could cause some other complication.  Bugs
> are not a vehicle for telling users not to use an obsolete feature.
> If we really want to remove a feature, we should just do that, after
> making sure there's a usable replacement.

The code you changed fixed just one of hundreds of similar cases all
over the Elisp code base.  Basically any use of forward-line,
beginning-of-line, line-end-position, ... needs to be adjusted to
account for selective-display=t.

This need to change every package to accommodate the possible use of
selective-display=t is one of the main reasons why we don't want to
support it any more, i.e. why we want to declare it obsolete.

        Stefan