From: Emanuel Berg <embe8573@student.uu.se>
To: help-gnu-emacs@gnu.org
Subject: Re: continuing indentation in for loop condition in cc-mode
Date: Mon, 15 Feb 2016 01:56:45 +0100 [thread overview]
Message-ID: <87ziv2hjua.fsf@debian.uxu> (raw)
In-Reply-To: CADtm3G4gkr7swDdnGyBWJ_=xo-d0TjU+mFtRQ9wRHw02U_codw@mail.gmail.com
Gregory Fong <gregory.0xf0@gmail.com> writes:
> (sorry if you get this twice, I didn't realize
> I wasn't subscribed to the list, tried to send using
> gmane, then that didn't work, so now I'm just using
> the reply mailto button from the archive, which
> might break the thread)
I didn't see this until now because I have splitting
which places mails that are sent to me *and* the list
in a special out-of-action newsgroup. I check that now
and then. Why I didn't see it in the newsgroup itself
(gmane.emacs.help) remains as mystery tho...
> I personally like the default. Unfortunately, the
> company I work for uses the style I mentioned at
> the top.
>
> This is mostly surprising to me because it's really
> the only indentation issue I've ever run into using
> emacs. Everything else has been customizable
This is customizable as well. Or rather it is (at
least) programmable like everything else.
Check out this file:
http://user.it.uu.se/~embe8573/fps/fpscalc.el
The "fpscalc-indent-line" is the function that
does indentation.
There should be a similar function for the C++ mode.
It is most likely more advanced and better, as it has
a bigger domain and more people worked on it for
a much longer time. But the principle that a function
does indentation should be the same.
So you can start by finding that function, continue by
understanding it, and last push for the summit by
modifying it to do you bidding.
That should be pretty simple :)
>> And, for such a basic for loop, why not put
>> everything on the same line?
>>
>> for (int i = 0; i < ARRAY_SIZE; i++) { ... }
>
> Yes, that was a poor example. I was thinking more of
> the sorts of long lines you tend to get when working
> in C++ with iterators, in which case I'm trying to get
> it to look like this:
>
> for (auto iter =
> RidiculouslyLongClassName.begin(); iter <
> RidiculouslyLongClassName.end(); ++iter) { ... }
Yuk! That reminds me of Java. But it doesn't have to
be *that* bad.
You don't have to do initialization of the iterator
within the for loop syntax, right?
And you can likewise assign an external variable
(external to the for loop syntax) to hold the range of
the iteration, instead of invoking the end() method
at each iteration.
It is perhaps not the OO way but it'll solve
(workaround) the syntax/indentation issue.
> As it is right now, I keep having to remember to fix
> the indentation manually, which has been driving
> me nuts.
Really? What's wrong with fixing it manually?
For example this message I have written 100% manually
with zero problems. How many such loops do you do each
day? Perhaps you should do mental-physical training,
e.g. yoga, instead of getting nuts at corporate-style
C++ indentation?
> If there's a known way to change this behavior, or
> if you have an idea on where to start looking at how
> to do this, I'd love to hear it. Just not sure where
> to start.
Start at the Elisp code which is the Emacs C++ mode.
PS. I post this to the newsgroup as well.
But I include a copy to your mail as you might
have forgotten about this issue since there was no
replies for some time. Again, I didn't see the
post at the newsgroup. If others did, they didn't
respond (or I didn't see those posts either).
This post they will see and possibly reply to, so
even tho you read this as a personal mail be sure
to check the newsgroup/mailing list as well.
--
underground experts united
http://user.it.uu.se/~embe8573
next prev parent reply other threads:[~2016-02-15 0:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-13 2:18 continuing indentation in for loop condition in cc-mode Gregory Fong
2016-02-15 0:56 ` Emanuel Berg [this message]
2016-02-15 1:20 ` Emanuel Berg
-- strict thread matches above, loose matches on Subject: below --
2016-02-06 1:24 Gregory Fong
2016-02-06 2:48 ` Emanuel Berg
2016-02-13 1:00 ` Gregory Fong
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=87ziv2hjua.fsf@debian.uxu \
--to=embe8573@student.uu.se \
--cc=help-gnu-emacs@gnu.org \
/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.
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).