From: Dmitry Gutov <dgutov@yandex.ru>
To: Eli Zaretskii <eliz@gnu.org>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: [SUSPECTED SPAM] Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls
Date: Mon, 11 Dec 2017 00:43:58 +0200 [thread overview]
Message-ID: <143d80b7-4612-7b21-b371-f8d8d0c607df@yandex.ru> (raw)
In-Reply-To: <838tecuqjb.fsf@gnu.org>
On 12/9/17 12:47 PM, Eli Zaretskii wrote:
> I think we are failing to communicate. "Not supported anywhere" is
> not a reason good enough in my book to remove something.
Allow me to clarify:
"Not supported anywhere" is, in my mind, a reason to disregard the "2
years" qualifier. It's important to keep around code that's likely to be
already used by someone, and it's barely the case here.
And the reasons to remove are different ones, and more technical, most
of which have been mentioned in this thread already. And we discussed
PREVIOUS-CHUNKS before, e.g. in the older thread I just linked to in a
reply to John's email.
In addition to that, "not supported anywhere" can be a reason to remove
PREVIOUS-CHUNKS in particular, because in the original discussion where
they've been added, it was understood that the author will follow up
with corresponding support for them (to prove the design), which he
never did.
> We have
> there a feature that is a super-set of what you need for the MMM
> related support,
Not really, no.
> Arguing that there's a good reason for removing
> prog-indentation-context would need to show how keeping it _precludes_
> some of what you are trying to do, or at least makes it unreasonably
> hard.
Yes, it precludes us from removing prog-widen and widen calls from
indentation code.
> And please keep in mind that 2 years without any additional users is
> not long enough to prove that this feature is useless. Let's also
> keep in mind that this feature was reviewed at the time and admitted
> into Emacs, which means Stefan did think at least back then that it
> could be useful in practice.
It was predicated on some support coming later. Which, again, never did.
> We should give people a chance before
> deciding it is completely useless and worthy of removal.
What kind of chance? The support for it needed to be added *inside* Emacs.
It's not "completely" useless. prog-first-column was a good idea, but we
have a better idea about the other parts.
> Whether we should unconditionally call 'widen' there is now a subject
> of a separate discussion.
And why is that "separate discussion" not considered finished and
concluded yet? I think the result is a fairly solid "yes, we can".
> For the purposes of this discussion, the
> only issue that should matter is whether using 'prog-widen' instead of
> 'widen' in those places will get in the way of the MMM support.
Unfortunately, that's not how the issue stands. Not calling widen in
indentation functions matters.
>> No, they are not. The calls to prog-widen (or widen) made in indentation
>> related code are removed.
>
> I don't think this distinction is important. I presumed that you are
> removing those widen calls because you added similar calls on higher
> levels, and didn't mention those removals. If that's not so, please
> point to specific parts of the patch where the widen calls are removed
> without that assumption.
Sorry, didn't mention where?
Indeed, widen calls are moved to a higher level above the
indent-line-function funcall. That's a design which
prog-indentation-context cannot support because prog-indentation-context
is supposed to be bound inside MMM-specific indentation function.
> And I'm proposing to leave that prog-widen call intact, because by
> default it's the same as calling 'widen' in the first place.
Which means you're actively arguing against the core change proposed in
the scratch/widen-less branch.
>>> 2) some calls to widen are added
>>
>> In code that later either calls indent-line-function or
>> beginning-of-defun-function.
>
> This is about widening unconditionally, so it's now unrelated to the
> current discussion.
If those 'widen' calls are not added, interactive narrowing by the user
will affect indentation results in the usual case. Which is probably not
what we want to do.
>>> 3) prog-indentation-context is removed
>>
>> Yup.
>
> And I see no reason for removing it, because if not set to any non-nil
> value, it is harmless. If you can explain why leaving it contradicts
> support for MMM, please do.
Using prog-widen contradicts it. And if we can't promise that it will be
used in all indentation functions (or at least those that purport to
support MMM), prog-indentation-context, as documented, will be confusing
and fairly useless.
>>> 4) prog-first-column the function is removed, and its calls replaced
>>> with accessing the (existing) name-sake variable
>>
>> Yes. It's not a hard requirement, but there doesn't seem much benefit in
>> keeping it a function. And if it's a function, what will it return?
>
> I don't think it matters what it will return.
If matters for me, because I want to know exactly what to write to make
you happy on this issue. prog-first-column can be a function, but the
choice of its backing needs to be made, and as I could see, my train of
thought on that issue has not arrived at an any particular conclusion.
> What matters is that
> (a) keeping a function doesn't interfere with the MMM support in any
> way I could see; (b) keeping a function makes the changes fully
> backward-compatible; and (c) keeping a function will allow future
> extensions where the value returned is not trivially taken from a
> variable.
I concede points a and c.
>> If we keep it a function, do we also have a variable prog-first-column?
>
> > But if there are good reason to keep the function, while
> renaming the variable, I will probably agree to renaming the variable
> much easier than I'd agree to removing the function.
It won't be just a rename, though, right? The prog-first-column will
store only the first element of what was prog-indentation-context.
>> And as long as all the calls to that function are inside Emacs, we're
>> free to change it however, including turning it into a variable.
>
> These all are very weak reasons in my eyes. Keeping the documented
> interfaces stable and backward-compatible is a much stronger argument,
> and IMO in this case it easily overcomes the above considerations.
Even the last one? I though it was pretty solid. But no matter, see above.
next prev parent reply other threads:[~2017-12-10 22:43 UTC|newest]
Thread overview: 185+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20171129233237.27462.23351@vcs0.savannah.gnu.org>
[not found] ` <20171129233238.504B5204F1@vcs0.savannah.gnu.org>
2017-11-30 1:53 ` [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls Stefan Monnier
2017-11-30 8:59 ` Dmitry Gutov
2017-11-30 10:58 ` Dmitry Gutov
2017-11-30 15:31 ` Tom Tromey
2017-11-30 21:28 ` Dmitry Gutov
2017-11-30 21:46 ` Alan Mackenzie
2017-11-30 23:03 ` [SUSPECTED SPAM] " Stefan Monnier
2017-12-01 16:07 ` Alan Mackenzie
2017-11-30 23:09 ` Dmitry Gutov
2017-12-01 15:49 ` Alan Mackenzie
2017-12-01 16:26 ` Stefan Monnier
2017-12-01 18:20 ` Alan Mackenzie
2017-12-01 18:59 ` Dmitry Gutov
2017-12-01 19:51 ` Stefan Monnier
2017-12-01 20:50 ` Dmitry Gutov
2017-12-02 2:24 ` Stefan Monnier
2017-12-02 20:01 ` Dmitry Gutov
2017-12-02 23:47 ` Stefan Monnier
2017-12-03 3:38 ` Eli Zaretskii
2017-12-03 23:43 ` Dmitry Gutov
2017-12-04 3:38 ` Eli Zaretskii
2017-12-04 11:53 ` Dmitry Gutov
2017-12-04 16:41 ` Eli Zaretskii
2017-12-04 17:45 ` Stefan Monnier
2017-12-05 0:10 ` Dmitry Gutov
2017-12-03 16:42 ` Dmitry Gutov
2017-12-03 21:23 ` Stefan Monnier
2017-12-03 23:58 ` Dmitry Gutov
2017-12-01 17:06 ` Drew Adams
2017-12-01 18:03 ` Stefan Monnier
2017-12-01 21:27 ` Vitalie Spinu
2017-12-01 21:38 ` Dmitry Gutov
2017-12-01 22:45 ` Alan Mackenzie
2017-12-02 2:53 ` Stefan Monnier
2017-12-02 14:02 ` Tom Tromey
2017-12-02 23:48 ` Richard Stallman
2017-12-01 19:13 ` Dmitry Gutov
2017-12-01 22:35 ` Alan Mackenzie
2017-12-01 23:24 ` Dmitry Gutov
2017-12-02 2:47 ` Stefan Monnier
2017-12-02 20:28 ` Alan Mackenzie
2017-12-03 0:03 ` Stefan Monnier
2017-12-03 12:18 ` Alan Mackenzie
2017-12-03 16:02 ` Dmitry Gutov
2017-12-03 3:52 ` Dmitry Gutov
2017-12-03 14:54 ` Alan Mackenzie
2017-12-03 18:40 ` Stefan Monnier
2017-12-03 22:26 ` Alan Mackenzie
2017-12-03 23:42 ` Stefan Monnier
2017-12-04 2:33 ` syntax-propertize and CC-mode (was: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls) Stefan Monnier
2017-12-03 23:53 ` [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls Dmitry Gutov
2017-12-02 8:27 ` Eli Zaretskii
2017-12-02 10:50 ` Dmitry Gutov
2017-12-02 11:10 ` Eli Zaretskii
2017-12-02 16:41 ` Stefan Monnier
2017-12-02 17:13 ` Eli Zaretskii
2017-12-02 17:53 ` Stefan Monnier
2017-12-02 18:33 ` Eli Zaretskii
2017-12-02 20:18 ` Dmitry Gutov
2017-12-02 20:14 ` Dmitry Gutov
2017-12-02 20:58 ` Eli Zaretskii
2017-12-02 21:35 ` Dmitry Gutov
2017-12-03 15:28 ` Eli Zaretskii
2017-12-03 16:35 ` Dmitry Gutov
2017-12-03 17:20 ` Eli Zaretskii
2017-12-03 19:43 ` Dmitry Gutov
2017-12-04 15:52 ` Eli Zaretskii
2017-12-04 16:35 ` Stefan Monnier
2017-12-04 16:56 ` Eli Zaretskii
2017-12-04 22:57 ` Dmitry Gutov
2017-12-04 23:27 ` Dmitry Gutov
2017-12-03 18:59 ` Alan Mackenzie
2017-12-03 19:25 ` Eli Zaretskii
2017-12-03 21:20 ` Alan Mackenzie
2017-12-04 16:10 ` Eli Zaretskii
2017-12-04 16:23 ` Alan Mackenzie
2017-12-04 16:48 ` Eli Zaretskii
2017-12-03 22:01 ` Stefan Monnier
2017-12-04 0:37 ` Dmitry Gutov
2017-12-04 15:52 ` Alan Mackenzie
2017-12-04 16:46 ` Eli Zaretskii
2017-12-05 13:08 ` Dmitry Gutov
2017-12-05 19:01 ` CC Mode in MMM Mode(s). [Was: Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls] Alan Mackenzie
2017-12-05 23:34 ` Dmitry Gutov
2017-12-06 18:19 ` CC Mode in MMM Mode(s) Alan Mackenzie
2017-12-07 0:21 ` Dmitry Gutov
2017-12-07 19:49 ` Richard Stallman
2017-12-07 23:43 ` Dmitry Gutov
2017-12-08 21:36 ` Richard Stallman
2017-12-09 15:20 ` Dmitry Gutov
2017-12-03 21:52 ` [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls Stefan Monnier
2017-12-04 0:03 ` Dmitry Gutov
2017-12-04 2:24 ` [SUSPECTED SPAM] " Stefan Monnier
2017-12-04 10:03 ` Dmitry Gutov
2017-12-04 16:21 ` Eli Zaretskii
2017-12-04 17:12 ` Stefan Monnier
2017-12-04 17:40 ` Eli Zaretskii
2017-12-04 17:52 ` Stefan Monnier
2017-12-04 19:53 ` Eli Zaretskii
2017-12-04 20:36 ` Eli Zaretskii
2017-12-04 21:00 ` Stefan Monnier
2017-12-04 21:50 ` Dmitry Gutov
2017-12-06 18:41 ` Dmitry Gutov
2017-12-09 10:47 ` Eli Zaretskii
2017-12-09 11:05 ` Eli Zaretskii
2017-12-10 5:01 ` Stefan Monnier
2017-12-10 6:53 ` Eli Zaretskii
2017-12-10 20:08 ` Stefan Monnier
2017-12-11 14:18 ` Getting rid of prog-indentation-context Stefan Monnier
2017-12-11 16:18 ` Eli Zaretskii
2017-12-11 17:08 ` Stefan Monnier
2017-12-11 17:26 ` Stefan Monnier
2017-12-11 18:02 ` Eli Zaretskii
2017-12-11 18:53 ` Ingo Lohmar
2017-12-11 21:42 ` Dmitry Gutov
2017-12-09 17:56 ` [SUSPECTED SPAM] Re: [Emacs-diffs] scratch/widen-less a4ba846: Replace prog-widen with consolidating widen calls John Wiegley
2017-12-10 20:19 ` Dmitry Gutov
2017-12-10 20:38 ` Stefan Monnier
2017-12-10 21:41 ` Dmitry Gutov
2017-12-11 9:53 ` Tom Tromey
2017-12-11 15:31 ` Stefan Monnier
2017-12-10 20:39 ` Eli Zaretskii
2017-12-10 21:39 ` [SUSPECTED SPAM] Re: [Emacs-diffs] scratch/widen-less a4ab846: " John Wiegley
2017-12-10 21:43 ` Dmitry Gutov
2017-12-10 21:53 ` [SUSPECTED SPAM] Re: [Emacs-diffs] scratch/widen-less a4ba846: " Dmitry Gutov
2017-12-11 16:04 ` Eli Zaretskii
2017-12-11 16:25 ` Dmitry Gutov
2017-12-11 17:43 ` Eli Zaretskii
2017-12-11 18:22 ` Eli Zaretskii
2017-12-11 20:47 ` John Wiegley
2017-12-11 21:35 ` Dmitry Gutov
2017-12-11 21:43 ` John Wiegley
2017-12-14 9:32 ` Dmitry Gutov
2017-12-14 13:20 ` Dmitry Gutov
2017-12-15 11:56 ` Dmitry Gutov
2017-12-14 14:01 ` Stefan Monnier
2017-12-14 14:17 ` Dmitry Gutov
2017-12-14 14:32 ` Stefan Monnier
2017-12-14 15:17 ` Robert Weiner
2017-12-15 11:54 ` Dmitry Gutov
2017-12-15 11:54 ` Dmitry Gutov
2017-12-20 0:08 ` Dmitry Gutov
2017-12-20 2:41 ` Stefan Monnier
2017-12-20 19:13 ` John Wiegley
2017-12-20 22:30 ` Dmitry Gutov
2017-12-21 1:33 ` John Wiegley
2017-12-21 22:07 ` Dmitry Gutov
2017-12-21 23:49 ` John Wiegley
2017-12-11 17:21 ` Stefan Monnier
2017-12-11 18:04 ` Eli Zaretskii
2017-12-11 22:20 ` Stefan Monnier
2017-12-10 22:43 ` Dmitry Gutov [this message]
2017-12-10 23:30 ` Dmitry Gutov
2017-12-11 0:26 ` Dmitry Gutov
2017-12-04 21:46 ` Dmitry Gutov
2017-12-04 22:05 ` Stefan Monnier
2017-12-04 22:45 ` Dmitry Gutov
2017-12-05 6:03 ` Eli Zaretskii
2017-12-05 10:42 ` Dmitry Gutov
2017-12-05 17:49 ` Eli Zaretskii
2017-12-04 16:12 ` Eli Zaretskii
2017-12-04 16:49 ` Stefan Monnier
2017-12-04 17:28 ` Eli Zaretskii
2017-12-04 21:52 ` Dmitry Gutov
2017-12-05 5:08 ` Eli Zaretskii
2017-12-05 5:33 ` Eli Zaretskii
2017-12-05 10:55 ` Dmitry Gutov
2017-12-05 17:53 ` Eli Zaretskii
2017-12-05 18:40 ` Dmitry Gutov
2017-12-05 20:49 ` Eli Zaretskii
2017-12-05 23:16 ` Dmitry Gutov
2017-12-06 9:28 ` Eli Zaretskii
2017-12-06 13:36 ` Dmitry Gutov
2017-12-08 16:41 ` Eli Zaretskii
2017-12-09 15:17 ` Dmitry Gutov
2017-12-09 15:43 ` Eli Zaretskii
2017-12-10 19:59 ` Dmitry Gutov
2017-12-10 20:04 ` Eli Zaretskii
2017-12-05 12:55 ` Dmitry Gutov
2017-12-05 17:57 ` Eli Zaretskii
2017-12-05 18:54 ` Dmitry Gutov
2017-12-05 20:48 ` Eli Zaretskii
2017-12-05 21:08 ` Ingo Lohmar
2017-12-06 9:26 ` Eli Zaretskii
2017-12-06 13:37 ` Dmitry Gutov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=143d80b7-4612-7b21-b371-f8d8d0c607df@yandex.ru \
--to=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).