* Re: [elpa] master 6c3842e 2/6: Add scala-mode to excluded-modes (#88)
[not found] ` <20161012191324.8A15C220170@vcs.savannah.gnu.org>
@ 2016-10-12 19:48 ` Stefan Monnier
2016-10-12 21:05 ` Artur Malabarba
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2016-10-12 19:48 UTC (permalink / raw)
To: emacs-devel; +Cc: Xairi
> --- a/aggressive-indent.el
> +++ b/aggressive-indent.el
> @@ -136,6 +136,7 @@ Please include this in your report!"
> netcmd-mode
> python-mode
> sass-mode
> + scala-mode
> slim-mode
> special-mode
> shell-mode
Isn't aggressive-indent-excluded-modes a bit blunt/arbitrary?
I mean, shouldn't we argue for each mode *why* it shouldn't use
aggressive-indent, and then maybe come up with a way to make this
variable unnecessary (because we can determine it automatically)?
E.g. maybe some of those modes shouldn't use aggressive-indent simply
because auto-reindentation can't be done reliably (in which case,
aggressive-indent could check something like electric-indent-inhibit
which was introduced for the same kind of needs)...
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [elpa] master 6c3842e 2/6: Add scala-mode to excluded-modes (#88)
2016-10-12 19:48 ` [elpa] master 6c3842e 2/6: Add scala-mode to excluded-modes (#88) Stefan Monnier
@ 2016-10-12 21:05 ` Artur Malabarba
2016-10-12 22:07 ` Stefan Monnier
0 siblings, 1 reply; 5+ messages in thread
From: Artur Malabarba @ 2016-10-12 21:05 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Xairi, emacs-devel
On 12 October 2016 at 16:48, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> --- a/aggressive-indent.el
>> +++ b/aggressive-indent.el
>> @@ -136,6 +136,7 @@ Please include this in your report!"
>> netcmd-mode
>> python-mode
>> sass-mode
>> + scala-mode
>> slim-mode
>> special-mode
>> shell-mode
>
> Isn't aggressive-indent-excluded-modes a bit blunt/arbitrary?
Indeed. :-(
> I mean, shouldn't we argue for each mode *why* it shouldn't use
> aggressive-indent, and then maybe come up with a way to make this
> variable unnecessary (because we can determine it automatically)?
Scala-mode was added because it takes the liberty of doing some
whitespace cleanup during indent-region, so it was preventing users
from typing properly. See:
https://github.com/Malabarba/aggressive-indent-mode/issues/87
I didn't have time to look for a config option to disable that, (and
even then, I don't think I want aggressive-indent to go around
changing semi-unrelated) so I disabled it in scala-mode.
> E.g. maybe some of those modes shouldn't use aggressive-indent simply
> because auto-reindentation can't be done reliably (in which case,
> aggressive-indent could check something like electric-indent-inhibit
> which was introduced for the same kind of needs)...
Yes. A lot of these are there for this reason, and we could use
`electric-indent-inhibit` for that (I didn't know about it).
Other modes are there because indentation makes no sense for them at
all. Such as shell-mode, which I see doesn't set
electric-indent-inhibit. We can't avoid these modes simply by
restricting ourselves to modes derived from prog-mode, because some
modes (like html or xml) do make sense to indent but are not derived
from prog-mode. Now that I have the advantage of hindsight, I see it
would have been easier to restrict to prog-mode and implement a
white-list, instead of taking everything and implementing a
black-list.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [elpa] master 6c3842e 2/6: Add scala-mode to excluded-modes (#88)
2016-10-12 21:05 ` Artur Malabarba
@ 2016-10-12 22:07 ` Stefan Monnier
2016-10-13 1:02 ` Artur Malabarba
0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2016-10-12 22:07 UTC (permalink / raw)
To: Artur Malabarba; +Cc: Xairi, emacs-devel
> Scala-mode was added because it takes the liberty of doing some
> whitespace cleanup during indent-region, so it was preventing users
> from typing properly. See:
> https://github.com/Malabarba/aggressive-indent-mode/issues/87
BTW, another way to avoid this problem is to skip reindentation if
(and (eolp) (memq (char-before) '(?\s ?\t))).
>> E.g. maybe some of those modes shouldn't use aggressive-indent simply
>> because auto-reindentation can't be done reliably (in which case,
>> aggressive-indent could check something like electric-indent-inhibit
>> which was introduced for the same kind of needs)...
> Yes. A lot of these are there for this reason, and we could use
> `electric-indent-inhibit` for that (I didn't know about it).
Maybe we should have another variable that's not bound to
electric-indent, something like `indent-is-not-reliable'.
> Other modes are there because indentation makes no sense for them at
> all. Such as shell-mode, which I see doesn't set
> electric-indent-inhibit.
AFAIK shell-mode's indentation works just fine and reliably. Maybe you
don't need it when you write 2-line scripts, but for larger scripts
(such as https://gitlab.com/monnier/bugit/blob/master/bugit), it makes
just as much sense as for any other programming language.
> from prog-mode. Now that I have the advantage of hindsight, I see it
> would have been easier to restrict to prog-mode and implement a
> white-list, instead of taking everything and implementing a
> black-list.
electric-indent does OK with a black list, so maybe it was not such
a bad decision.
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [elpa] master 6c3842e 2/6: Add scala-mode to excluded-modes (#88)
2016-10-12 22:07 ` Stefan Monnier
@ 2016-10-13 1:02 ` Artur Malabarba
2016-10-13 3:25 ` Stefan Monnier
0 siblings, 1 reply; 5+ messages in thread
From: Artur Malabarba @ 2016-10-13 1:02 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Xairi, emacs-devel
> AFAIK shell-mode's indentation works just fine and reliably. Maybe you
> don't need it when you write 2-line scripts, but for larger scripts
> (such as https://gitlab.com/monnier/bugit/blob/master/bugit), it makes
> just as much sense as for any other programming language.
You're thinking of sh-mode. `shell-mode' is the one you get with `M-x shell'.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [elpa] master 6c3842e 2/6: Add scala-mode to excluded-modes (#88)
2016-10-13 1:02 ` Artur Malabarba
@ 2016-10-13 3:25 ` Stefan Monnier
0 siblings, 0 replies; 5+ messages in thread
From: Stefan Monnier @ 2016-10-13 3:25 UTC (permalink / raw)
To: Artur Malabarba; +Cc: Xairi, emacs-devel
>> AFAIK shell-mode's indentation works just fine and reliably. Maybe you
>> don't need it when you write 2-line scripts, but for larger scripts
>> (such as https://gitlab.com/monnier/bugit/blob/master/bugit), it makes
>> just as much sense as for any other programming language.
> You're thinking of sh-mode. `shell-mode' is the one you get with `M-x shell'.
Duh! comint-derived modes don't make much sense there, indeed.
But you don't need to list it: just check the value of
indent-line-function and weed out the `indent-relative' case.
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-10-13 3:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20161012191324.23934.59986@vcs.savannah.gnu.org>
[not found] ` <20161012191324.8A15C220170@vcs.savannah.gnu.org>
2016-10-12 19:48 ` [elpa] master 6c3842e 2/6: Add scala-mode to excluded-modes (#88) Stefan Monnier
2016-10-12 21:05 ` Artur Malabarba
2016-10-12 22:07 ` Stefan Monnier
2016-10-13 1:02 ` Artur Malabarba
2016-10-13 3:25 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.