From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Dmitry Fleytman" <dmitry.fleytman@gmail.com>,
"Stefan Hajnoczi" <stefanha@redhat.com>,
"Li Zhijian" <lizhijian@cn.fujitsu.com>,
"David Hildenbrand" <david@redhat.com>,
"Jeff Cody" <jcody@redhat.com>,
"Zhang Chen" <zhangckid@gmail.com>,
"Mark Cave-Ayland" <mark.cave-ayland@ilande.co.uk>,
"BALATON Zoltan" <balaton@eik.bme.hu>,
"Keith Busch" <keith.busch@intel.com>,
"Max Filippov" <jcmvbkbc@gmail.com>,
"Laurent Vivier" <laurent@vivier.eu>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Jiri Pirko" <jiri@resnulli.us>,
"Subbaraya Sundeep" <sundeep.lkml@gmail.com>,
"Eric Blake" <eblake@redhat.com>,
"Michael Roth" <mdroth@linux.vnet.ibm.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
"Josh Durgin" <jdurgin@redhat.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Alberto Garcia" <berto@igalia.com>,
zhanghailiang <zhang.zhanghailiang@huawei.com>,
"Ben Warren" <ben@skyportsystems.com>,
"Marcel Apfelbaum" <marcel@redhat.com>,
"Yongbok Kim" <yongbok.kim@mips.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Stefan Berger" <stefanb@linux.vnet.ibm.com>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
kvm@vger.kernel.org, "Hervé Poussineau" <hpoussin@reactos.org>,
"Shannon Zhao" <zhaoshenglong@huawei.com>,
"Anthony Perard" <anthony.perard@citrix.com>,
"Liu Yuan" <namei.unix@gmail.com>,
"David Gibson" <david@gibson.dropbear.id.au>,
"Andrzej Zaborowski" <balrogg@gmail.com>,
"Jason Wang" <jasowang@redhat.com>,
"Artyom Tarasenko" <atar4qemu@gmail.com>,
"Riku Voipio" <riku.voipio@iki.fi>, "Fam Zheng" <famz@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Corey Minyard" <minyard@acm.org>, "Amit Shah" <amit@kernel.org>,
"Pavel Dovgalyuk" <pavel.dovgaluk@ispras.ru>,
"Stefan Weil" <sw@weilnetz.de>,
"Xie Changlong" <xiechanglong.d@gmail.com>,
"Alistair Francis" <alistair@alistair23.me>,
"Peter Lieven" <pl@kamp.de>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"Fabien Chouteau" <chouteau@adacore.com>,
"Greg Kurz" <groug@kaod.org>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Alex Williamson" <alex.williamson@redhat.com>,
qemu-arm@nongnu.org, "Peter Chubb" <peter.chubb@nicta.com.au>,
"Yuval Shaia" <yuval.shaia@oracle.com>,
"Ronnie Sahlberg" <ronniesahlberg@gmail.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
xen-devel@lists.xenproject.org, "John Snow" <jsnow@redhat.com>,
"Richard Henderson" <rth@twiddle.net>,
"Kevin Wolf" <kwolf@redhat.com>, "Alexander Graf" <agraf@suse.de>,
"Daniel P. Berrangé" <berrange@redhat.com>,
qemu-block@nongnu.org,
"Hitoshi Mitake" <mitake.hitoshi@lab.ntt.co.jp>,
"Wen Congyang" <wencongyang2@huawei.com>,
qemu-s390x@nongnu.org, "Cornelia Huck" <cohuck@redhat.com>,
"Richard W.M. Jones" <rjones@redhat.com>,
"Juan Quintela" <quintela@redhat.com>,
"Max Reitz" <mreitz@redhat.com>,
"Michael Walle" <michael@walle.cc>,
qemu-ppc@nongnu.org, "Andreas Färber" <afaerber@suse.de>,
"Igor Mammedov" <imammedo@redhat.com>,
"Hannes Reinecke" <hare@suse.com>,
"Aurelien Jarno" <aurelien@aurel32.net>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: Re: [Qemu-arm] [PATCH] qemu: include generated files with <> and not ""
Date: Tue, 20 Mar 2018 15:05:00 +0200 [thread overview]
Message-ID: <20180320145402-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <1521510562-529051-1-git-send-email-mst@redhat.com>
On Tue, Mar 20, 2018 at 03:54:36AM +0200, Michael S. Tsirkin wrote:
> QEMU coding style at the moment asks for all non-system
> include files to be used with #include "foo.h".
> However this rule actually does not make sense and
> creates issues for when the included file is generated.
>
> In C, include "file" means look in current directory,
> then on include search path. Current directory here
> means the source file directory.
> By comparison include <file> means look on include search path.
>
> As generated files are not in the search directory (unless the build
> directory happens to match the source directory), it does not make sense
> to include them with "" - doing so is merely more work for preprocessor
> and a source or errors if a stale file happens to exist in the source
> directory.
>
> This changes include directives for all generated files, across the
> tree. The idea is to avoid sending a huge amount of email. But when
> merging, the changes will be split with one commit per file, e.g. for
> ease of bisect in case of build failures, and to ease merging.
>
> Note that should some generated files be missed by this tree-wide
> refactoring, it isn't a big deal - this merely maintains the status quo,
> and this can be addressed by a separate patch on top.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
For the record, the stated advantage is that one can
have a header file that happens to match the system
header.
To put it bluntly that does not work as designed.
For example, if a system header foo.h somewhere has #include <trace.h>
then the compiler will happily pull in our own version (since that is in
the -I path) and completely ignore the system one, breaking things in
the process.
When does it make sense to use include ""? When the header is
a directory-specific one, located with the source.
This approach would both be enforced by the compiler
and help people know where to find the header.
--
MST
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Dmitry Fleytman <dmitry.fleytman@gmail.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Li Zhijian <lizhijian@cn.fujitsu.com>,
David Hildenbrand <david@redhat.com>,
Jeff Cody <jcody@redhat.com>, Zhang Chen <zhangckid@gmail.com>,
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
BALATON Zoltan <balaton@eik.bme.hu>,
Keith Busch <keith.busch@intel.com>,
Max Filippov <jcmvbkbc@gmail.com>,
Laurent Vivier <laurent@vivier.eu>,
Gerd Hoffmann <kraxel@redhat.com>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
Jiri Pirko <jiri@resnulli.us>,
Subbaraya Sundeep <sundeep.lkml@gmail.com>,
Eric Blake <eblake@redhat.com>,
Michael Roth <mdroth@linux.vnet.ibm.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
Josh Durgin <jdurgin@redhat.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Alberto Garcia <berto@igalia.com>,
zhanghailiang <zhang.zhanghailiang@>
Subject: Re: [PATCH] qemu: include generated files with <> and not ""
Date: Tue, 20 Mar 2018 15:05:00 +0200 [thread overview]
Message-ID: <20180320145402-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <1521510562-529051-1-git-send-email-mst@redhat.com>
On Tue, Mar 20, 2018 at 03:54:36AM +0200, Michael S. Tsirkin wrote:
> QEMU coding style at the moment asks for all non-system
> include files to be used with #include "foo.h".
> However this rule actually does not make sense and
> creates issues for when the included file is generated.
>
> In C, include "file" means look in current directory,
> then on include search path. Current directory here
> means the source file directory.
> By comparison include <file> means look on include search path.
>
> As generated files are not in the search directory (unless the build
> directory happens to match the source directory), it does not make sense
> to include them with "" - doing so is merely more work for preprocessor
> and a source or errors if a stale file happens to exist in the source
> directory.
>
> This changes include directives for all generated files, across the
> tree. The idea is to avoid sending a huge amount of email. But when
> merging, the changes will be split with one commit per file, e.g. for
> ease of bisect in case of build failures, and to ease merging.
>
> Note that should some generated files be missed by this tree-wide
> refactoring, it isn't a big deal - this merely maintains the status quo,
> and this can be addressed by a separate patch on top.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
For the record, the stated advantage is that one can
have a header file that happens to match the system
header.
To put it bluntly that does not work as designed.
For example, if a system header foo.h somewhere has #include <trace.h>
then the compiler will happily pull in our own version (since that is in
the -I path) and completely ignore the system one, breaking things in
the process.
When does it make sense to use include ""? When the header is
a directory-specific one, located with the source.
This approach would both be enforced by the compiler
and help people know where to find the header.
--
MST
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Dmitry Fleytman <dmitry.fleytman@gmail.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Li Zhijian <lizhijian@cn.fujitsu.com>,
David Hildenbrand <david@redhat.com>,
Jeff Cody <jcody@redhat.com>, Zhang Chen <zhangckid@gmail.com>,
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
BALATON Zoltan <balaton@eik.bme.hu>,
Keith Busch <keith.busch@intel.com>,
Max Filippov <jcmvbkbc@gmail.com>,
Laurent Vivier <laurent@vivier.eu>,
Gerd Hoffmann <kraxel@redhat.com>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
Jiri Pirko <jiri@resnulli.us>,
Subbaraya Sundeep <sundeep.lkml@gmail.com>,
Eric Blake <eblake@redhat.com>,
Michael Roth <mdroth@linux.vnet.ibm.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
Josh Durgin <jdurgin@redhat.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Alberto Garcia <berto@igalia.com>,
zhanghailiang <zhang.zhanghailiang@
Subject: Re: [PATCH] qemu: include generated files with <> and not ""
Date: Tue, 20 Mar 2018 15:05:00 +0200 [thread overview]
Message-ID: <20180320145402-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <1521510562-529051-1-git-send-email-mst@redhat.com>
On Tue, Mar 20, 2018 at 03:54:36AM +0200, Michael S. Tsirkin wrote:
> QEMU coding style at the moment asks for all non-system
> include files to be used with #include "foo.h".
> However this rule actually does not make sense and
> creates issues for when the included file is generated.
>
> In C, include "file" means look in current directory,
> then on include search path. Current directory here
> means the source file directory.
> By comparison include <file> means look on include search path.
>
> As generated files are not in the search directory (unless the build
> directory happens to match the source directory), it does not make sense
> to include them with "" - doing so is merely more work for preprocessor
> and a source or errors if a stale file happens to exist in the source
> directory.
>
> This changes include directives for all generated files, across the
> tree. The idea is to avoid sending a huge amount of email. But when
> merging, the changes will be split with one commit per file, e.g. for
> ease of bisect in case of build failures, and to ease merging.
>
> Note that should some generated files be missed by this tree-wide
> refactoring, it isn't a big deal - this merely maintains the status quo,
> and this can be addressed by a separate patch on top.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
For the record, the stated advantage is that one can
have a header file that happens to match the system
header.
To put it bluntly that does not work as designed.
For example, if a system header foo.h somewhere has #include <trace.h>
then the compiler will happily pull in our own version (since that is in
the -I path) and completely ignore the system one, breaking things in
the process.
When does it make sense to use include ""? When the header is
a directory-specific one, located with the source.
This approach would both be enforced by the compiler
and help people know where to find the header.
--
MST
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2018-03-20 13:36 UTC|newest]
Thread overview: 104+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-20 1:54 [Qemu-arm] [PATCH] qemu: include generated files with <> and not "" Michael S. Tsirkin
2018-03-20 1:54 ` Michael S. Tsirkin
2018-03-20 8:58 ` [Qemu-arm] " Laurent Vivier
2018-03-20 8:58 ` Laurent Vivier
2018-03-20 8:58 ` Laurent Vivier
2018-03-20 9:44 ` [Qemu-arm] " Daniel P. Berrangé
2018-03-20 9:44 ` Daniel P. Berrangé
2018-03-20 9:44 ` Daniel P. Berrangé
2018-03-20 10:01 ` [Qemu-devel] " Peter Maydell
2018-03-20 10:01 ` Peter Maydell
2018-03-20 10:01 ` Peter Maydell
2018-03-20 10:27 ` [Qemu-devel] " Daniel P. Berrangé
2018-03-20 10:27 ` Daniel P. Berrangé
2018-03-20 10:27 ` Daniel P. Berrangé
2018-03-20 11:52 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 11:52 ` Michael S. Tsirkin
2018-03-20 11:52 ` Michael S. Tsirkin
2018-03-20 12:12 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 12:12 ` Michael S. Tsirkin
2018-03-20 12:18 ` [Qemu-arm] " Daniel P. Berrangé
2018-03-20 12:18 ` Daniel P. Berrangé
2018-03-20 12:28 ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 12:28 ` Michael S. Tsirkin
2018-03-20 12:39 ` [Qemu-arm] " Daniel P. Berrangé
2018-03-20 12:39 ` Daniel P. Berrangé
2018-03-20 12:44 ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 12:44 ` Michael S. Tsirkin
2018-03-20 13:32 ` [Qemu-arm] " Gerd Hoffmann
2018-03-20 13:32 ` Gerd Hoffmann
2018-03-20 13:32 ` Gerd Hoffmann
2018-03-20 13:41 ` [Qemu-arm] " Daniel P. Berrangé
2018-03-20 13:41 ` Daniel P. Berrangé
2018-03-20 13:41 ` Daniel P. Berrangé
2018-03-20 13:50 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 13:50 ` Michael S. Tsirkin
2018-03-20 13:58 ` [Qemu-arm] " Daniel P. Berrangé
2018-03-20 13:58 ` Daniel P. Berrangé
2018-03-20 14:02 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 14:02 ` Michael S. Tsirkin
2018-03-20 13:54 ` [Qemu-arm] " Max Reitz
2018-03-20 13:54 ` Max Reitz
2018-03-20 13:54 ` Max Reitz
2018-03-20 17:12 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 17:12 ` Michael S. Tsirkin
2018-03-20 17:12 ` Michael S. Tsirkin
2018-03-20 13:46 ` [Qemu-arm] " Thomas Huth
2018-03-20 13:46 ` Thomas Huth
2018-03-20 13:46 ` Thomas Huth
2018-03-20 13:53 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 13:53 ` Michael S. Tsirkin
2018-03-20 12:05 ` [Qemu-devel] " Michael S. Tsirkin
2018-03-20 12:05 ` Michael S. Tsirkin
2018-03-20 12:05 ` Michael S. Tsirkin
2018-03-21 7:16 ` [Qemu-ppc] " Thomas Huth
2018-03-21 7:16 ` [Qemu-arm] " Thomas Huth
2018-03-21 7:16 ` Thomas Huth
2018-03-21 13:08 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-21 13:08 ` Michael S. Tsirkin
2018-03-21 13:08 ` Michael S. Tsirkin
2018-03-21 13:15 ` Stefan Weil
2018-03-21 13:15 ` [Qemu-arm] " Stefan Weil
2018-03-21 13:15 ` Stefan Weil
2018-03-21 13:24 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-21 13:24 ` Michael S. Tsirkin
2018-03-21 13:24 ` Michael S. Tsirkin
2018-03-21 13:29 ` [Qemu-arm] " Daniel P. Berrangé
2018-03-21 13:29 ` Daniel P. Berrangé
2018-03-21 13:29 ` Daniel P. Berrangé
2018-03-21 13:42 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-21 13:42 ` Michael S. Tsirkin
2018-03-21 13:42 ` Michael S. Tsirkin
2018-03-20 13:05 ` Michael S. Tsirkin [this message]
2018-03-20 13:05 ` Michael S. Tsirkin
2018-03-20 13:05 ` Michael S. Tsirkin
2018-03-20 13:10 ` [Qemu-arm] [Qemu-block] " Stefan Hajnoczi
2018-03-20 13:10 ` Stefan Hajnoczi
2018-03-20 13:10 ` Stefan Hajnoczi
2018-03-20 13:30 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 13:30 ` Michael S. Tsirkin
2018-03-20 13:30 ` Michael S. Tsirkin
2018-03-20 16:12 ` Eric Blake
2018-03-20 16:12 ` [Qemu-arm] " Eric Blake
2018-03-20 16:12 ` Eric Blake
2018-03-20 16:40 ` [Qemu-arm] " Daniel P. Berrangé
2018-03-20 16:40 ` Daniel P. Berrangé
2018-03-20 16:40 ` Daniel P. Berrangé
2018-03-20 16:51 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 16:51 ` Michael S. Tsirkin
2018-03-20 16:51 ` Michael S. Tsirkin
2018-03-20 16:33 ` [Qemu-arm] [Qemu-devel] " Stefan Weil
2018-03-20 16:33 ` Stefan Weil
2018-03-20 17:10 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 17:10 ` Michael S. Tsirkin
2018-03-20 17:10 ` Michael S. Tsirkin
2018-03-20 17:34 ` [Qemu-arm] " Daniel P. Berrangé
2018-03-20 17:34 ` Daniel P. Berrangé
2018-03-20 17:49 ` Michael S. Tsirkin
2018-03-20 17:49 ` [Qemu-arm] " Michael S. Tsirkin
2018-03-20 17:49 ` Michael S. Tsirkin
2018-03-20 17:34 ` Daniel P. Berrangé
2018-03-20 17:36 ` Daniel P. Berrangé
2018-03-20 17:36 ` Daniel P. Berrangé
2018-03-20 17:36 ` Daniel P. Berrangé
2018-03-20 16:33 ` Stefan Weil
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=20180320145402-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=alex.williamson@redhat.com \
--cc=alistair@alistair23.me \
--cc=amit@kernel.org \
--cc=anthony.perard@citrix.com \
--cc=armbru@redhat.com \
--cc=atar4qemu@gmail.com \
--cc=aurelien@aurel32.net \
--cc=balaton@eik.bme.hu \
--cc=balrogg@gmail.com \
--cc=ben@skyportsystems.com \
--cc=berrange@redhat.com \
--cc=berto@igalia.com \
--cc=borntraeger@de.ibm.com \
--cc=chouteau@adacore.com \
--cc=cohuck@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=david@redhat.com \
--cc=dgilbert@redhat.com \
--cc=dmitry.fleytman@gmail.com \
--cc=eblake@redhat.com \
--cc=ehabkost@redhat.com \
--cc=f4bug@amsat.org \
--cc=famz@redhat.com \
--cc=groug@kaod.org \
--cc=hare@suse.com \
--cc=hpoussin@reactos.org \
--cc=imammedo@redhat.com \
--cc=jasowang@redhat.com \
--cc=jcmvbkbc@gmail.com \
--cc=jcody@redhat.com \
--cc=jdurgin@redhat.com \
--cc=jiri@resnulli.us \
--cc=jsnow@redhat.com \
--cc=keith.busch@intel.com \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--cc=laurent@vivier.eu \
--cc=lizhijian@cn.fujitsu.com \
--cc=marcandre.lureau@redhat.com \
--cc=marcel@redhat.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=mdroth@linux.vnet.ibm.com \
--cc=michael@walle.cc \
--cc=minyard@acm.org \
--cc=mitake.hitoshi@lab.ntt.co.jp \
--cc=mreitz@redhat.com \
--cc=mtosatti@redhat.com \
--cc=namei.unix@gmail.com \
--cc=pavel.dovgaluk@ispras.ru \
--cc=pbonzini@redhat.com \
--cc=peter.chubb@nicta.com.au \
--cc=peter.maydell@linaro.org \
--cc=pl@kamp.de \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=quintela@redhat.com \
--cc=riku.voipio@iki.fi \
--cc=rjones@redhat.com \
--cc=ronniesahlberg@gmail.com \
--cc=rth@twiddle.net \
--cc=sstabellini@kernel.org \
--cc=stefanb@linux.vnet.ibm.com \
--cc=stefanha@redhat.com \
--cc=sundeep.lkml@gmail.com \
--cc=sw@weilnetz.de \
--cc=wencongyang2@huawei.com \
--cc=xen-devel@lists.xenproject.org \
--cc=xiechanglong.d@gmail.com \
--cc=yongbok.kim@mips.com \
--cc=yuval.shaia@oracle.com \
--cc=zhang.zhanghailiang@huawei.com \
--cc=zhangckid@gmail.com \
--cc=zhaoshenglong@huawei.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.
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.