[neomutt-devel] About C flavour (Was: Refactoring's cosmetics 💄)
stu at spacehopper.org
Thu Jan 26 12:32:31 CET 2017
On 2017/01/26 12:12, Guyzmo wrote:
> On Thu, Jan 26, 2017 at 09:26:33AM +0000, Stuart Henderson wrote:
> > On 2017/01/25 23:12, Guyzmo wrote:
> > > it's not as lovely as C99 style, but it's still worth not leaving out.
> > GCC 4.9 is GPLv3-licensed which some operating systems can't include
> > with the OS, it's usually possible to run but means an extra install (or
> > lengthy build if binaries aren't available).
> > Clang doesn't have particularly wide support for CPU architectures
> > (x86 and ARM are pretty good, powerpc is missing some bits, others are
> > not present or missing a lot).
> > Are the extra things in C11 nice enough to be worth cutting out some
> > users?
> And what would be the realistic alternatives for GCC and Clang for
> systems that are neither GPL-compatible and on an exotic architecture?
> And what system+archicture would be running those users that would be
> left over?
> I wouldn't want to cut the possibility to use the freshest standard
> (which is already over 5 years old) that encourages to make better code,
> and offer features that we might or might not use, because of some
> hypothetical user base which are using system configurations we won't be
> able to test!
> The same way I see no use in caring about having neomutt compile on AIX4,
> having to install GCC to install neomutt on netbsd running on a MIPS
> based toaster (yeah, such a toaster would be burning the toasts using
> the CPU's heat), wouldn't be, IMHO, a huge problem.
I'm thinking more of something like a powerpc mac or a sparc64 running a
BSD, which aren't really all that exotic or uncommon.
If it were a C++ program I'd see clear advantages in C++11. If it were
threaded then TLS in C11 might be useful. You might know better but
I'm not really seeing anything in C11 that would be a big enough
advantage for neomutt to make it worth requiring a C11 compiler.
> And maybe, that would justify making a clear difference between what
> mutt is and what neomutt is. Mutt would then be the boring good old MUA
> that runs everywhere, and Neomutt would be more complex to run on
> anything, but integrate more features (and hopefully one day be more
More information about the neomutt-devel