unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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 01:30:34 +0200	[thread overview]
Message-ID: <494c0c44-8172-b40d-d6e1-32765b1e6042@yandex.ru> (raw)
In-Reply-To: <838tecuqjb.fsf@gnu.org>

On 12/9/17 12:47 PM, Eli Zaretskii wrote:

> You explained that you consider the design and implementation of
> prog-indentation-context unnecessarily complex, and that a simpler
> design and implementation would be more elegant, given the current
> practices in related modes.  You have _not_ explained why keeping the
> prog-indentation-context stuff would prevent us from supporting MMM
> and similar features as easily as under your proposed changes.

I'm honestly might be forgetting some things, given the brain-numbing 
effects of discussions like this, but:

- We need to expand the scope of use of all elements of 
prog-indentation-context but the first to other facilities as well, such 
as font-lock, beginning-of-defun-function, etc, at which point the name 
of the variable kind of ceases to make sense.

Out of all these, font-lock is the most apparent to the user, and thus, 
arguably, the most important. It is, luckily, not an issue in most major 
modes, but it *is* an issue in CC Mode, which you said you wanted to see 
supported.

- PREVIOUS-CHUNKS, given how it's permissively documented now, will 
likely prevent some useful caching mechanisms inside major modes that 
will decide to use it (in particular the first option will, "A string 
containing text"). I also fail to see how one would write support for it 
without having to program two fairly different code paths.

- In case the discussion about moving 'widen' calls to 
indent-for-tab-command and indent-according-to-mode concludes 
affirmatively, we won't be able to use prog-widen there because 
prog-indentation-context gets set "later".

This issue can probably be avoided by dropping the backing variable and 
moving to a similar-but-different design with hooks like 
prog-first-column-function, prog-current-chunk-function, etc, but these 
details still need to be finalized, and for that I'm waiting for Alan's 
feedback on adapting CC Mode to MMM.

- Then, we'll go onto solving the less well-examined issues with our 
designer hands tied more strongly than they could have been, because 
we've committed to one particular API, one that's harder to smoothly 
migrate over from.

Next, WHAT HAPPENS IF WE SUPPORT PROG-INDENTATION-CONTEXT PROPERLY:

- All the major modes will have to be adapted to use prog-widen in 
indentation code, and maybe some other places they use 'widen' at now. 
This, in turn, will break their uses in mmm-mode, polymode, and whatever 
other MMM packages are out there (including mhtml-mode, but it's easy to 
fix).

- Thus, MMM frameworks will need to be updated, changing over from the 
current practice. Compatibility shims will need to be added in them, to 
work with both older and new Emacs.

So if you were worried that removing prog-indentation-context would 
cause inconvenience to antlr-mode (its last released version which 
jumped the gun with supporting prog-indentation-context), properly 
supporting prog-indentation-context will cause more breakage overall, in 
said MMM frameworks. Until they all get updated and all users install 
the new versions, by various means those updates are delivered.



  parent reply	other threads:[~2017-12-10 23:30 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
2017-12-10 23:30                                                   ` Dmitry Gutov [this message]
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=494c0c44-8172-b40d-d6e1-32765b1e6042@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).