[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with co
From: |
Alan Mackenzie |
Subject: |
Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls |
Date: |
Fri, 1 Dec 2017 15:49:13 +0000 |
User-agent: |
Mutt/1.7.2 (2016-11-26) |
Hello, Dmitry.
Just to be clear, in the following, by "narrowing" I mean all operations
of narrowing and widening regarded generically.
On Thu, Nov 30, 2017 at 23:09:00 +0000, Dmitry Gutov wrote:
> Hi Alan,
> On 11/30/17 9:46 PM, Alan Mackenzie wrote:
> > Using narrowing for marking the bounds of a sub-mode is a bad thing,
> > since it is likely to cause contention with other uses of narrowing.
> Please give an example.
A low level function which as an essential part of its functionality
(for example, to make sure point-min isn't within a comment or string)
widens.
> > It's not clear what is meant here,
> To rephrase, don't widen in indent-line-function or
> beginning-of-defun-function.
This is an intolerable restriction. The low level function mentioned
above cannot, should not, must not know whether it's being called
(indirectly) from indent-line-function or b-o-d-function. It will have
to widen in all cases or none. Therefore there will be failures whilst
being called either from one of the two noted functions or from
elsewhere.
> > but mandating maintainers of major
> > modes to use narrowing in a particular way is at best controversial, and
> > probably will render many major modes non-functional.
> I don't see a reason why. Even more, it should be compatible with all
> uses of narrowing that I know about.
See above.
> > Narrowing belongs to users and major modes.
> It can serve all.
Indeed it can, and it must. A super-mode thus may not "reserve"
narrowing for its own purposes to the exclusion of other uses.
[ .... ]
> > You can also understand me being a bit concerned at the reference to CC
> > Mode. ;-)
> You shouldn't be: CC Mode can just ignore this new rule, as long as it's
> too hard to support embedding it in multi-mode buffers.
The multi-mode mechanism should be designed to be usable with any major
mode. There's nothing particularly hard about supporting CC Mode in a
well designed multi-mode scheme.
> >> - Multi-mode packages have been using narrowing for this purpose for
> >> years, so they won't have to change much.
> > They have used narrowing because that is the only tool they have had.
> The only other tool we have is also narrowing, semantically.
We need better tools. I have already proposed and offered to implement
such tools.
--
Alan Mackenzie (Nuremberg, Germany).
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Alan Mackenzie, 2017/12/01
- [SUSPECTED SPAM] Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Stefan Monnier, 2017/12/01
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Dmitry Gutov, 2017/12/01
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls,
Alan Mackenzie <=
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Stefan Monnier, 2017/12/01
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Alan Mackenzie, 2017/12/01
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Dmitry Gutov, 2017/12/01
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Stefan Monnier, 2017/12/01
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Dmitry Gutov, 2017/12/01
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Stefan Monnier, 2017/12/01
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Dmitry Gutov, 2017/12/02
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Stefan Monnier, 2017/12/02
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Eli Zaretskii, 2017/12/02
- Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls, Dmitry Gutov, 2017/12/03