[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc
From: |
João Távora |
Subject: |
bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode |
Date: |
Sat, 22 Dec 2018 10:02:07 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Beatrix Klebe <beeuhtricks@gmail.com> writes:
> I didn’t intend to kick the hornet’s nest of ideological factions
You kinda did, but it's in their nature to be kicked.
> here, I was honestly just wondering if this was actually expected
> behavior of these two modes together and if not if the fix was
> trivial. The answer seems to be that it is indeed a bug and the fix is
> non-trivial,
All correct.
> and furthermore while I appreciate attempts to hotfix it, those are
> not solutions of the quality I was expecting
Can you specify what is missing in terms of quality?
> , (I encountered those already while doing my own research before I
> filed this bug report and I found them unsatisfactory both then and
> now) and furthermore I feel like I should be open in stating that I
> feel somewhat condescended to.
I'm very sorry about that, it was never my intention (please read
below).
> I know what c-toggle-auto-newline is, I also know that functions
> prefixed with “toggle” are functions that toggle a mode or setting
> internally, in this case a minor mode called auto-newline
> (https://www.gnu.org/software/emacs/manual/html_node/ccmode/Auto_002dnewlines.html)
After following the link you gave me: I see the misunderstanding. You
see, even though CC-mode's manual says "auto-newline" is a minor mode,
it's not. It's just a variation on the major-mode's behaviour (in fact
the CC-mode manual clarifies it here[1] as a "minor-mode-like feature",
but the misunderstanding remained). There's no M-x auto-newline-mode to
be invoked and no (define-minor-mode auto-newline-mode...) to be found
in the code. Mentions to this as a minor mode are only found in the
manual (a documentation bug, in my opinion).
So this is why I was so specific with M-x c-toggle-auto-newline,
becausen that's the actual command that someone who doesn't use it needs
to turn on that pseudo-minor-mode: Without it, I couldn't observe the
behaviour that you reported. With it, you couldn't experience the
solution I was giving you.
> I was about five minutes away from diving into the source of these two
> packages to fix it myself, as I have spent probably 10 hours
> reasearching this problem at this point. I’m sorry if I misunderstood
> something, I was mainly looking for clarification that what I was
> experiencing was a bug, and it is beginning to seem like there is none
> to be had here.
OK I'll clarify: There is a bug: there are two diverging views on how to
fix it because there are diverging views about where it lies in Emacs:
* The only available fix so far (mine) is still experimental. I would
appreciate your feedback but it's perfectly OK to go spend your time
elsewhere because there's a risk that it won't make it in the end.
In this fix, I'm not targetting Alan's code: I am extending an
existing, separate feature that could render some of CC-mode's
functionality, specifically the peudo auto-newline-mode, obsolete.
* The other fix isn't available yet, in experimental or final form.
Presumably it would target electric-pair-mode. If Alan, you, or
someone else wants to work on it, that's quite alright, but beware
that electric-pair-mode must work for all major modes (including
things like minibuffers and REPLs), not just CC-mode.
Regards,
João
[1]:
https://www.gnu.org/software/emacs/manual/html_node/ccmode/Minor-Modes.html#Minor-Modes
>
> On Fri, Dec 21, 2018 at 10:22 PM João Távora <joaotavora@gmail.com> wrote:
>
> Alan Mackenzie <acm@muc.de> writes:
>
> > Hello, Beatrix.
> >
> > As maintainer of CC Mode, I earnestly recommend you NOT to follow João's
> > suggestion. It will not work, and will waste your time.
>
> What, exactly, will not work?
>
> > Even if it appears to work, you will end up picking out bugs for an
> > indeterminate period.
>
> What bugs? If you know of any, it would be good to report them, right?
>
> > Basically, electric-pair-mode as it is currently built is incompatible
> > with CC Mode, as I have pointed out here, albeit somewhat
> > undiplomatically.
> >
> > I suggest you do nothing until tempers amongst Emacs developers have
> > cooled down, and hopefully a genuine solution to the bug has been worked
> > out and implemented.
>
> If you don't like electric-layout-mode, don't use it. I'm trying to
> develop an alternative to c-toggle-auto-newline within the
> electric-*-mode frame. It's an experiment which I don't even know if
> Stefan will agree to, but it seems to work. If Beatrix wants to
> cooperate, why shouldn't she?
>
> I'm not asking you to nuke c-toggle-auto-newline or anything, but should
> we all be forced to use it? I don't think it's sensible in a free
> software project, Alan (and my temper is quite cool when saying this
> :-))
>
> Again, I said I don't have anything against making eletric-pair-mode
> compatible with c-toggle-auto-newline if someone comes up with a good
> solution that doesn't break e-p-m for other modes. I will not invest
> time in looking into that solution, but you or someone else may, of
> course.
>
> In the meantime let people explore alternatives, right?
>
> João
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, (continued)
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, João Távora, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Beatrix Klebe, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, João Távora, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, João Távora, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Beatrix Klebe, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, João Távora, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, João Távora, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Alan Mackenzie, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, João Távora, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Beatrix Klebe, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode,
João Távora <=
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Alan Mackenzie, 2018/12/22
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Alan Mackenzie, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, João Távora, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Alan Mackenzie, 2018/12/22
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, João Távora, 2018/12/22
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Alan Mackenzie, 2018/12/21
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Stefan Monnier, 2018/12/22
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Beatrix Klebe, 2018/12/22
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Stefan Monnier, 2018/12/22
- bug#33794: 26.1; electric-pair-mode breaks auto-newline minor mode of cc-mode, Beatrix Klebe, 2018/12/22