bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Stefan Monnier
Subject: bug#1092: compilation-goto-error goes to wrong location when buffer has hidden regions
Date: Mon, 04 Jan 2016 23:12:29 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

> Setting a variable is a user-level feature.

I've never ever heard of a user setting selective-display manually
to t.  It's always done from some Elisp package.  And it's no wonder:
setting selective-display=t has about zero effect.  It only starts to do
something when you start turning \n into \r (which is also when the
problems start to come up).

>> >> For the selective-display=t case, we have had replacement features in
>> >> place and in wide use for what, twenty years?
>> > Which replacements are those?  I mean user commands or settings, not
>> > infrastructure on which to base them.
>> selective-display=t gives no user command, so I have no idea what you're
>> expecting as "user command" to replace it.
> And I did mean _both_ uses of selective-display, not only that single
> one.

As you can see above in the text you quoted, I was specifically
referring to the selective-display=t case.

> If and when there are replacements for both of them, we can
> declare the variable obsolete and perhaps also remove its current
> handling from the sources, if the replacement features allow to
> emulate the variable's effect.

The problem is that nobody really cares about the non-t part of
selective-display: it doesn't cause any serious problems (contrary to
the use of \r for "kind of end-of-line" in selective-display=t which
requires special handling all over the place), isn't use very widely
either, and is only a user-level feature (I don't know of any Elisp
package making use of it).

>> There are almost no uses of selective-display=t around, they've
>> almost all been replaced by uses of overlays.
> We have no idea of how many uses of this are out there.

Of course we do have some idea.

> We only know what's in Emacs and in ELPA, which is just a fraction of
> what's out there.

If you never look further than those, I hope you're an exception.
I have a fairly extensive list of random packages I've bumped into over
the years.

And I can even tell you why there are very few uses of
selective-display=t left: because it's a pain in the rear to use and is
very limited.  It's much simpler and more flexible to use overlays, so
most packages have been rewritten over time to use overlays instead.

>> >> We can very definitely declare this use case obsolete
>> > We already did.  And look how well did it serve us.
>> Which problem did its obsolescence cause?
> This one, for example.

How did declaring the feature obsolete cause this bug?
AFAICT this bug has been around since long before we declared the
feature obsolete.

> More importantly, it didn't resolve any problem.

Declaring a feature obsolete doesn't resolve any problem.
It just expresses our intent not to resolve those problems.

> Anyway, I don't see where this discussion is going.  The original bug
> is fixed and closed.  If you or someone else have a patch to replace
> selective-display with alternative user features, let's see those
> patches (preferably in another thread).

Again, I have no clue what kind of user feature you're expecting.
selective-display=t is 100% obsolete, with overlays as replacements
available for so many years it's not even funny.

My only intention in this discussion is to try and saves us from someone
else ever trying to "fix" such bugs like you did.  Instead we should
always reply with something like "if it hurts when you use
selective-display=t, then don't use it".  Same applies for any other
obsoleted feature.


        Stefan





reply via email to

[Prev in Thread] Current Thread [Next in Thread]