# N4994 Editors' Report -- Programming Languages -- C++

Date: 2024-10-16

Thomas Köppe (editor, Google DeepMind)  
Jens Maurer (co-editor)  
Dawn Perchik (co-editor, Bright Side Computing, LLC)  
Richard Smith (co-editor, Google Inc)  

Email: `cxxeditor@gmail.com`

## Acknowledgements

Thanks to all those who have [submitted editorial
issues](https://github.com/cplusplus/draft/wiki/How-to-submit-an-editorial-issue)
and to those who have provided pull requests with fixes.

## New papers

 * [N4993](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4993.pdf) is the
   current working draft for C++26. It replaces
   [N4988](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4988.pdf).
 * N4994 is this Editors' Report.

## Draft approval

The previous drafts
[N4986](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4986.pdf)
and
[N4988](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4988.pdf)
were not approved at any WG21 meeting. For approval of this draft, N4993,
please consult the previous Editors' reports 
[N4987](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4987.html)
and
[N4989](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/n4989.html)
as well as this one.

## No motions

There have been no new, approved WG21 motions.
This revision contains only editorial changes.

A few of the editorial changes fix mistakes in our LaTeX sources that were
reported to us by the ISO secretariat during the ongoing publication of C++23.

## Editorial changes

### Major editorial changes

For this revision, we have reorganised several clauses and subclauses.
As a reminder: the editorial team aims to perform only one major reorganisation
that changes top-level clause numbers per C++ revision, and this is it for C++26.

The changes create a new clause "Text processing library `[text]`" that collects
formatting, conversions, locales, regular expressions, and text-related C library
facilities. Clauses are rearranged as:

 * Algorithms library `[algorithms]`
 * Strings library `[strings]`
 * Text processing library `[text]`
 * Numerics library `[numerics]`
 * Time library `[time]`
 * Input/output library `[input.output]`

The new `[text]` clause obtains the following contents:

 * Primitive numeric conversions `[charconv]`, from `[utilities]`
 * Formatting `[format]`, from `[utilities]`
 * Text encodings identification `[text.encoding]`, extracted from `[localization]`
 * Localization library `[localization]`
 * Regular expressions library `[re]`
 * C library facilities `[cctype.syn]`, `[cwctype.syn]`, `[cwchar.syn]`, `[cuchar.syn]`, and `[c.mb.wcs]`

Additionally, the following subclauses are moved:

* Debugging `[debugging]` from `[utilities]` to the end of `[diagnostics]`
* Execution policies `[execpol]` from `[utilities]` to the end of `[algorithms.parallel]`
* Class `type_index` `[type.index]` from `[utilities]` to `[support.rtti]`

This removes a number of unrelated clauses from the large `[utilities]` clause.

Finally, we spread the synopses in `[containers]` out to appear right in front
of the classes they define.

### Minor editorial changes

A log of editorial fixes made to the working draft since N4988 is below. This
list excludes changes that do not affect the body text or only affect whitespace
or typeface. For a complete list including such changes (or for the actual
deltas applied by these changes), consult the
[draft sources on GitHub](https://github.com/cplusplus/draft/compare/n4988...n4993).

    commit 15a43d522467d389bd9340081d65dbf17d44d255
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Mon Aug 5 12:21:56 2024 +0100

        [temp.over.link] Reword to clarify that declarations correspond (#5999)

    commit 3c0f4cf0a03892157ebf3a472d3e9450a41f038e
    Author: Lewis Baker <lewissbaker@users.noreply.github.com>
    Date:   Sun Aug 4 09:26:26 2024 +0930

        [snd.expos] Fix typo in definition of SCHED-ENV exposition-only helper

        Change `o1` -> `o2` to reference the expression declared as part of the definition of `SCHED-ENV`.

    commit 5056b86597f5ba9278601db46a415f2d76e1bc8f
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Fri Aug 2 17:38:05 2024 +0200

        [temp.constr.order] Reflect fold expanded constraints in footnotes

    commit c92bc384b118412322f9893832508bf17f46f644
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Thu Aug 1 12:35:50 2024 +0200

        [dcl.fct] Fix obsolete phrasing when defining 'function type'

    commit fabbff2d812e0a99bd1162460812ec2f5399636e
    Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
    Date:   Thu Aug 8 17:15:39 2024 -0400

        [sequences] Consistent comma in "If X, there are no effects" (#7139)

    commit 04c5a0c509dbf8f9f81223d1de5bb917cd3074c5
    Author: Hana Dusíková <hanicka@hanicka.net>
    Date:   Tue Aug 20 12:21:43 2024 +0200

        [meta.const.eval] Fix function declaration in example (#7234)

    commit ab4c0663dc72f09fb8ef6c366352c9d1a68e8fa9
    Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
    Date:   Fri Aug 23 22:06:05 2024 +0400

        [expr.prim.lambda.capture] Incorporate ellipsis into "captured by copy" definition

    commit 6ea6df4c96653d6696bb0133253ea0159b0f278f
    Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
    Date:   Sat Aug 24 23:24:01 2024 +0400

        [dcl.type.elab] Remove redundant full stop (#7242)

    commit 24ceda755967b022e8e089d4f0cdcf4bc99a4adb
    Author: Hewill Kang <hewillk@gmail.com>
    Date:   Mon Aug 26 18:29:28 2024 +0800

        [exec.snd.apply,exec.schedule.from] Properly mark "see below" (#7210)

    commit 447b6291061d50a582f72dd42d9d6265857ded5c
    Author: Joachim Wuttke <j.wuttke@fz-juelich.de>
    Date:   Mon Aug 26 22:30:39 2024 +0200

        [numerics] Correct typo Bessell -> Bessel (#7244)

    commit db0ca108a9b44ef8f06338ecf68f1e4653be4267
    Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
    Date:   Thu Aug 29 06:13:18 2024 -0400

        [inplace.vector] Fix some spelling/grammar issues (#7243)

    commit 21e477fb6dbfa7813eb2263bfa31c748bdce589b
    Author: Casey Carter <Casey@Carter.net>
    Date:   Fri Aug 30 05:07:36 2024 -0700

        [lib] Remove `inline` from variable templates (#7240)

    commit c001805bb769fe237034151d59ddd20835a17298
    Author: A. Jiang <de34@live.cn>
    Date:   Fri Aug 30 20:52:00 2024 +0800

        [lib] Remove `friend class X` (#6427)

        Friendship between library classes is considered an implementation detail.

    commit 1fafde9a04a3760debb932839791b1d2047ba432
    Author: A. Jiang <de34@live.cn>
    Date:   Fri Aug 30 20:52:49 2024 +0800

        [fs.class.directory.entry.general] Remove superfluous "unneeded" (#7245)

    commit e010cf6cde64a498c2bc4291e7e79e66e8ace79a
    Author: Vlad Serebrennikov <serebrennikov.vladislav@gmail.com>
    Date:   Fri Aug 23 21:03:51 2024 +0400

        [basic.scope.scope] Fix a note about declarations that do not bind names

        The note is saying that declarations of qualified names do not bind names, but this is not supported by normative wording in [dcl.meaning]

    commit 36a1f39068e71d69e4ca534c5b72891055675e88
    Author: Arthur O'Dwyer <arthur.j.odwyer@gmail.com>
    Date:   Wed Sep 4 10:23:14 2024 -0400

        [forward.list] Replace misplaced comma with period (#7246)

    commit f23059bf704a48b4805db28441ec73b61054ab9d
    Author: A. Jiang <de34@live.cn>
    Date:   Thu Sep 5 00:03:56 2024 +0800

        [optional.syn] Use `decay_t<T>` directly instead of "see below" (#7247)

    commit 9d9a3777f1a571dd2648023fe70848c32aebda09
    Author: Casey Carter <Casey@Carter.net>
    Date:   Sun Sep 8 12:13:53 2024 -0700

        [associative.reqmts.general,unord.req.general] Fix cross-references to [container.alloc.reqmts] and [container.reqmts] (#7249)

        Both paragraphs incorrectly point to [container.reqmts] instead of [container.alloc.reqmts] for "the requirements of an allocator-aware container".

    commit d930c5fa6728dd0b599f9c7918a2f0a0f747aaa2
    Author: Jan Schultke <me@eisenwave.net>
    Date:   Mon Sep 16 20:35:33 2024 +0200

        [expr.delete] Remove stray "the" between words (#7253)

    commit 9243ba5befaea8fd3e878e6114942db8d556a6e0
    Author: Steve Downey <sdowney@gmail.com>
    Date:   Tue Sep 17 06:13:18 2024 -0400

        [optional.assign] Use itemized list for operator=(U&& v) constraints (#7255)

    commit 4930897a2a45fa57fd9d766a24229a9e3f14f23e
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Sat Aug 21 13:58:22 2021 +0200

        [dcl.spec.general,dcl.fct.spec] Clarify duplication of decl-specifiers

    commit d0c00bf629f4b91d19176c2397aa3ff7c1c0ce63
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Thu Sep 26 18:49:15 2024 +0200

        [tab:lex.charset.literal] Shorten table heading

        Fixes ISO/CS comment (C++23 proof)

    commit 945b1c071ed511d11a2152aa70e08290f91a7856
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Thu Sep 26 19:11:58 2024 +0200

        [tab:re.matchflag] Shorten table heading

        Fixes ISO/CS comment (C++23 proof)

    commit 4e34492bc7279fedb0e066f4925860e686fa81dc
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Thu Sep 26 19:43:50 2024 +0200

        [rand.req] Fix table headers for longtable continued on following page

        Fixes ISO/CS comment (C++23 proof)

    commit 2b1e6d2952987bf4ada8275212a7bb297bb0c1c7
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Thu Sep 26 20:19:01 2024 +0200

        [macros] Fix duplicate vertical lines visible in tables in [optional.assign]

        Fixes ISO/CS comment (C++23 proof)

    commit 0680a08ee677e0970b4460fd614f58b122845047
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Thu Sep 26 21:59:34 2024 +0100

        [ios.init] Remove unused Init::init_cnt static member (#7263)

        The text that made use of this variable was removed by LWG1123 and has
        not been present in the WP since N3090. The effects of Init construction
        and destruction are specified entirely without the use of this variable,
        so it serves no purpose now.

    commit afdd158f555892507bc44c6d372c3b45a7f09832
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Fri Sep 27 00:09:11 2024 +0200

        [styles] Format title of \codeblocktu using 'caption' package

        This restores the C++20 status of the formatting.

    commit 2b3e09e2cc773b7205310917c5a6b2bdd87340af
    Author: Casey Carter <Casey@Carter.net>
    Date:   Tue Oct 1 03:22:29 2024 -0700

        [inplace.vector.cons] "Constructs an object" is redundant (#7252)

    commit 70954edf0b2c915d9b2ca4a1cff99b1c1cba2089
    Author: Alisdair Meredith <alisdairm@me.com>
    Date:   Tue Oct 1 23:09:04 2024 -0400

        [depr.lit] Fix grammar according to P2361R6

        P2361R6 introduced the notion of unevaluated strings, and
        updated the grammar for literal operator function accodingly.
        Unfortunely, the corresponding grammar reference that was
        deprecated was not similarly updated.

    commit 08b167d5476c9fd02a7a0484ae031cb358a99ddf
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Sat Oct 5 22:24:02 2024 +0100

        [priqueue.cons.alloc] Add missing initialization for comp (#7291)

        This is consistent with p2 and p8 which also value-initialize it.

    commit 738b14f990e0575a3ca63b579d87edb5a6133ffb
    Author: Casey Carter <Casey@Carter.net>
    Date:   Sat Oct 5 15:03:04 2024 -0700

        [array.creation] Clarify "Mandates" for `to_array` overloads (#7286)

        It's confusing that these `to_array` overloads require `T` to be constructible from various types, when they actually construct `remove_cv_t<T>` objects. We experts know that initialization doesn't depend on the cv-qualification of the target type ([dcl.init.general]/16), but there's no need to make readers jump through hoops to understand the spec.

    commit d5c9f2d248860e8e7de78f595b93a8b01c7e02c8
    Author: Lewis Baker <lewissbaker@users.noreply.github.com>
    Date:   Tue Oct 8 21:07:48 2024 +1030

        [exec.split,exec.when.all] Fix typo stop_callback_of_t -> stop_callback_for_t (#7295)

    commit 58c01ba5765e8c91ce4aab462d25247167a7e481
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Tue Oct 8 11:38:42 2024 +0100

        [re.grammar] Add missing backslash to UnicodeEscapeSequence example (#7290)

    commit ebef68dd9f1c3bccfe06d14eb83c05a7a35dcec3
    Author: Lewis Baker <lewissbaker@users.noreply.github.com>
    Date:   Tue Oct 8 22:06:23 2024 +1030

        [exec.just] Add missing LaTeX escape for product-type construction (#7216)

    commit 7ea8f59e19842e720360f15b64c2199ea27641ac
    Author: A. Jiang <de34@live.cn>
    Date:   Thu Oct 10 17:53:54 2024 +0800

        [mutex.syn] Add missing ',' for consistency

    commit 7c6322a59e3359c5002357831328b25939cd5383
    Author: Lewis Baker <lewissbaker@users.noreply.github.com>
    Date:   Sun Oct 13 04:07:30 2024 +1030

        [stoptoken.concepts] Remove redundant 'swappable<Token>' clause from 'stoppable_token' concept (#7299)

        The `stoppable_token<Token>` concept requires both `copyable<Token>` and `swappable<Token>`. However, the `copyable<Token>` requirement already subsumes `movable<Token>`, which subsumes `swappable<Token>`.

        Therefore the requirement for `swappable<Token>` can be removed from the `stoppable_token` concept definition with no semantic change.

    commit 9bf42221ab5a52ef10cb980a22e8a9617dbbf18b
    Author: Andreas Krug <153394595+Andreas-Krug@users.noreply.github.com>
    Date:   Sat Oct 12 22:39:57 2024 +0200

        [rcu.syn] Add missing ',' in comment (#7301)

    commit a0411db859cf1eabc2be24a5d2add4eaf288dac5
    Author: Jens Maurer <Jens.Maurer@gmx.net>
    Date:   Mon Oct 14 12:30:30 2024 +0200

        [expr.const] Add paragraph number for general example

    commit 3982d5d5758df949e3c2e0174c72758189be6f2e
    Author: Alisdair Meredith <alisdairm@me.com>
    Date:   Mon Oct 14 08:54:22 2024 -0400

        [except.ctor] Retitle subclause as 'stack unwinding' (#7282)

        The purpose of this subclause is to define stack unwinding,
        which in specified in terms of the lifetime of objects, not
        just class types.  Hence, while much of the text is addressing
        interactions with contructors and destructors (the original
        subclause title) it does more than just that.

    commit 4eb30d3d618ef44ae3925a1a62090bbbbfe8cabf
    Author: Alisdair Meredith <alisdairm@me.com>
    Date:   Wed Oct 16 07:39:15 2024 -0400

        [cpp.subst] change "proprocessing file" to "translation unit" (#7293)

        The term 'preprocessing translation unit' is defined in [lex.separate]
        while the term 'preprocessing file' is never defined, and is
        not used anywhere else in the standard.  Prefer to use the
        specified term, as it reasonably covers this case.

    commit 40228c690cb8d2ac27bd54bdddeabe425bd022b2
    Author: Alisdair Meredith <alisdairm@me.com>
    Date:   Wed Oct 16 07:40:20 2024 -0400

        [cpp.import] Change "directive" to "definition" in "active macro directive" (#7292)

        The term 'active macro directive' is defined in p6, but never used.
        Meanwhile, there are multiple uses of 'active macro definition' but
        that term is never defined, including in the very sentence following
        the definition of the unused term, and in other clauses that
        cross-reference to this clause for their definition.

    commit 47da0e8b88bf1aa20aa474edf04a6d29e70b7563
    Author: Anders Schau Knatten <anders@knatten.org>
    Date:   Wed Oct 16 13:41:26 2024 +0200

        [over.oper.general] Change "basic type" to "fundamental type" (#7287)

        The term "basic type" is used twice in this note but it's never defined anywhere, nor used.

    commit 7fe7519a5af674cd914344c650529f743fd92fc2
    Author: Alisdair Meredith <alisdairm@me.com>
    Date:   Tue Oct 1 22:13:53 2024 -0400

        [except.handle] Remove confusing comparison to variadic functions

        The analogy that the ellipsis in an exception handler was similar to an
        ellipsis in a function declaration may have made sense at one time, but
        the comparison with a syntax using a macro based API calling 'va_arg'
        to access its contents --- something that is not possible for an
        exception handler --- seems more confusing than helpful today.

    commit d225f51f8cb799fb014cb73beb7dcccc044392cc
    Author: Jonathan Wakely <cxx@kayari.org>
    Date:   Tue Aug 20 11:58:24 2024 +0100

        [text.encoding.aliases] Add note about what isn't required

        Make it explicit that `copyable` is intended, rather than `semiregular`,
        and that the return types of `begin()` and `end()` can differ.

        Also remove a FIXME comment for something that doesn't need fixing.
        These requirements on a type are specified in our usual form, it would
        be wrong to use _Remarks_: or _Requires_: here.

    commit 6338d95ae620f5e4d37d27a39a40f9de9af37b77
    Author: Alisdair Meredith <alisdairm@me.com>
    Date:   Wed Oct 16 08:47:02 2024 -0400

        [lex.charset] Introduce parent subclause [lex.char] for character sets and UCNs (#7067)

        The grammar for universal-character-name is oddly sandwiched into the
        middle of the subclause talking about the different character sets used
        by the standard.  To improve the flow, extract that grammar into its own
        subclause.

        In the extraction, I make three other clarifying changes.  First, describe
        this new subclause as 'a way to name any element of the of the translation
        character set using just the basic character set' rather than simply
        'a way to name other characters'. Then, merge the sentence on where universal
        characters are prohibited into the new intro sentence describing universal
        characters, to make clear that there is no contradiction between nominating
        a character, and how that character can be used. Finally, remove the 'one of'
        in the grammar where there is only one option to choose.

    commit 9b6b757f34bf4a1eeb6a66481a444b83f1ee5770
    Author: Matthias Kretz <m.kretz@gsi.de>
    Date:   Thu Sep 12 21:41:02 2024 +0200

        [sf.cmath.assoc.laguerre,sf.cmath.assoc.legendre] Add reference to eq

        The associated Laguerre/Legendre functions build on the
        Laguerre/Legendre functions, which are defined in different equations.
        Point to them from the associated functions.

        Also use the correct \ell as used in the formula.

    commit 0456a32e41772b0a68b4055fb4e6533cb64e0e3d
    Author: Yihe Li <winmikedows@hotmail.com>
    Date:   Thu Sep 5 23:59:58 2024 +0800

        [utility.syn, flat.map.defn] Remove all [[nodiscard]] from library wording

    commit 8b2c7fc3c58bd109c82a016ee2cc5b691bdcd853
    Author: Eisenwave <me@eisenwave.net>
    Date:   Mon Jun 10 23:22:04 2024 +0200

        [expr.new] Extend example for new-expressions with zero size arrays

    commit fb34daf31b53389cc35b3f5f65a69785fc6dd1de
    Author: Alisdair Meredith <alisdairm@me.com>
    Date:   Tue Jul 23 22:32:52 2024 -0400

        [char.traits] Better cross-reference several headers

    commit 220cb742e8056ad033ad8dce5630d7d3acaa4c7d
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 15:37:39 2024 +0100

        [debugging] Move [debugging] to the end of Clause [diagnostics]

        Part of the C++26 clause restructuring (#5315).

    commit 7a2dafa6b4cca842e264bfd544b69452fb448c39
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 15:43:39 2024 +0100

        [execpol] Move [execpol] to the end of subclause [algorithms.parallel]

        Part of the C++26 clause restructuring (#5315).

    commit 93e2e1c6bcf5e9c3e551d964978e8bf241c392a4
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 15:52:54 2024 +0100

        [type.index] Move [type.index] into subclause [support.rtti]

        The subclause is integrated into the structure of [support.rtti],
        meaning that the synopsis becomes a sibling of the rest, and the
        subdivisions of the remaining text are removed (in analogy with
        [type.info]).

        Part of the C++26 clause restructuring (#5315).

    commit cdb120a4aee270f4e6e40dd7b07885c70651224e
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 17:25:51 2024 +0100

        [containers] Move synopses right in front of the classes they define

        Part of the C++26 clause restructuring (#5315).

    commit b7e389c9feca4839f77ad60985f509e01f96a399
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 15:27:06 2024 +0100

        [std] Reorder clauses: [algorithm], [strings]

        Part of the C++26 clause restructuring (#5315).

    commit 5512050c2db44d87566d25ce4f70b530624cb330
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 15:36:47 2024 +0100

        [std] Create new top-level Clause [text], following [strings]

        Part of the C++26 clause restructuring (#5315).

    commit fc6f670832980fc7b8219cb6945592cbe45d9239
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 19:01:21 2024 +0100

        [text, re] Move [re] into [text]

        Part of the C++26 clause restructuring (#5315).

    commit 5d106373aada591874ab5e38301502b3012e0502
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 19:06:03 2024 +0100

        [text, localization] Move [localization] into [text]

        The subclause [text.encodings] is extracted and elevated to a sibling
        subclause of [localization].

        Part of the C++26 clause restructuring (#5315).

    commit 804846a56f7e73dafe4ebd621fa81097d2e94603
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 20:15:42 2024 +0100

        [charconv, format] Move [charconv], [format] to [text]

        Part of the C++26 clause restructuring (#5315).

    commit 4b1a9a76c29c31cc3f679a8bdb1603842baf3501
    Author: Thomas Köppe <tkoeppe@google.com>
    Date:   Wed Oct 16 20:31:33 2024 +0100

        [text, c.strings] Move text-related parts of [c.strings] to [text]

        The text-related subclauses [cctype.syn], [cwctype.syn], [cwchar.syn],
        [cuchar.syn], and [c.mb.wcs] are moved to a new subclause [text.c.strings].

        Part of the C++26 clause restructuring (#5226, #5315).

    commit 8003b627a7e336c2e9f350a3bb1ad395ec7c1cc7
    Author: lprv <100177227+lprv@users.noreply.github.com>
    Date:   Wed Oct 16 19:41:35 2024 +0000

        [expr, temp.arg.nontype] Use 'pointer to' instead of 'address of' (#6174)

        Specifically, in:
         * [expr.prim.lambda.closure]p8, p11
         * [expr.const]p13.3
         * [temp.arg.nontype]p3

    commit 198e991fed47efcd8b7fe1ad98ecde4d8722a201
    Author: Alisdair Meredith <alisdairm@me.com>
    Date:   Wed Oct 2 15:55:49 2024 -0400

        [except.handle] group all paragraphs on searching for handler

        This commit moves all of the paragraphs involved in the search for a
        handler for an exception into a single logical sequence.

        After this change, [except.spec] deals only with specifying the
        'noexcept' function decorator and its interaction with the
        'noexcept' operator, and contains no text regarding exceptions
        themselves.  It might be appropriate to move that subclause into
        the [dcl] structure at a future date.
