From: Philipp Stephani <p.stephani2@gmail.com>
To: Glenn Morris <rgm@gnu.org>,
Christopher Wellons <wellons@nullprogram.com>
Cc: 24494@debbugs.gnu.org
Subject: bug#24494: 24.4; Trailing comma in emacs-module.h
Date: Sun, 02 Jul 2017 15:28:55 +0000 [thread overview]
Message-ID: <CAArVCkRrqfTw00Tq6AYqAvhJ92Dozj8-qwJqsEoDWnuei-LjhQ@mail.gmail.com> (raw)
In-Reply-To: <g47f743hdi.fsf@fencepost.gnu.org>
[-- Attachment #1: Type: text/plain, Size: 1909 bytes --]
Glenn Morris <rgm@gnu.org> schrieb am Mo., 12. Dez. 2016 um 23:37 Uhr:
> Christopher Wellons wrote:
>
> > Building Emacs itself now requires a C99 compiler, but this requirement
> > needn't extend to dynamic modules. Removing a trailing comma (see patch)
> > makes emacs-module.h C89/C90 compatible, allowing modules to be built
> > using older C compilers. Trailing commas weren't permitted until C99.
>
> Thanks for the report. I don't have an opinion, but some comments:
>
> 1) I think it's going to be hard for developers to remember to use
> different conventions for emacs-module.h, so C99-isms are likely to
> creep back in.
>
emacs-module.h is used differently than other parts of the source code, so
different conventions apply: It should be more compatible with various
compilers, it has to be compatible with C++, all names have to start with
"emacs_", it can't depend on any headers not in the standard library, etc.
If it's hard to remember these requirements, maybe we should check for
them? E.g. add a unit test that including emacs-module.h always works, even
with '-pedantic-errors -Weverything -Werror -std=c++98'.
Aside: technically emacs-module.h already depends on C99/C++11, via
intmax_t and bool. However, these types are apparently often available even
in C++98/C89 mode.
>
> 2) Are people really likely to be building Emacs modules with set-ups
> that can't build Emacs itself?
>
Why not? Modules could be much simpler than Emacs, and module authors might
legitimately want to support older compilers.
>
> 3) It seems this feature was supported by gcc since 0.9? Ie, forever?
> https://www.gnu.org/software/gcc/c99status.html
>
> Hopefully someone who does have an opinion will quickly either fix or
> wontfix this issue. :)
>
I've independently just pushed the same change. I think not breaking
pre-C++11 builds (which probably still see signifcant use) is important
enough.
[-- Attachment #2: Type: text/html, Size: 2713 bytes --]
prev parent reply other threads:[~2017-07-02 15:28 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-21 15:22 bug#24494: 24.4; Trailing comma in emacs-module.h Christopher Wellons
2016-12-12 22:35 ` Glenn Morris
2017-07-01 20:50 ` npostavs
2017-07-02 15:28 ` Philipp Stephani [this message]
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAArVCkRrqfTw00Tq6AYqAvhJ92Dozj8-qwJqsEoDWnuei-LjhQ@mail.gmail.com \
--to=p.stephani2@gmail.com \
--cc=24494@debbugs.gnu.org \
--cc=rgm@gnu.org \
--cc=wellons@nullprogram.com \
/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 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.