Skip to content

Consistent comma after e.g. and i.e. #1512

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions source/algorithms.tex
Original file line number Diff line number Diff line change
Expand Up @@ -4057,7 +4057,7 @@
\pnum
\returns \tcode{true} if
\range{first}{last} is empty or if
\range{first}{last} is partitioned by \tcode{pred}, i.e. if all elements that satisfy \tcode{pred} appear before those that do not.
\range{first}{last} is partitioned by \tcode{pred}, i.e., if all elements that satisfy \tcode{pred} appear before those that do not.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More damage to the English language perpretrated by Strunk and White, but OK, this is the dominant American English style, so let's put up with it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I believe the "comma after i.e." thing is totally misguided. Nobody knows what "i.e." and "e.g." means in the expanded form, plus it's Latin anyway, so the argument "oh, it's a complete sentence lookalike, so should have commas around it" is broken. (Have you ever seen the expanded form in English?). We don't put a comma after "but" or "where" either.


\pnum
\complexity Linear. At most \tcode{last - first} applications of \tcode{pred}.
Expand Down Expand Up @@ -4194,7 +4194,7 @@

\begin{itemdescr}
\pnum
\requires \tcode{ForwardIterator}'s value type shall be convertible to \tcode{Predicate}'s argument type. \range{first}{last} shall be partitioned by \tcode{pred}, i.e. all elements that satisfy \tcode{pred} shall appear before those that do not.
\requires \tcode{ForwardIterator}'s value type shall be convertible to \tcode{Predicate}'s argument type. \range{first}{last} shall be partitioned by \tcode{pred}, i.e., all elements that satisfy \tcode{pred} shall appear before those that do not.

\pnum
\returns An iterator \tcode{mid} such that \tcode{all_of(first, mid, pred)} and \tcode{none_of(mid, last, pred)} are both \tcode{true}.
Expand Down
2 changes: 1 addition & 1 deletion source/declarators.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2257,7 +2257,7 @@
\end{example}

\begin{example}
One can make a class uncopyable, i.e. move-only, by using deleted
One can make a class uncopyable, i.e., move-only, by using deleted
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like abuse of "i.e." -- uncopyable and move-only are not equivalent. More drastic rewording seems necessary here.

definitions of the copy constructor and copy assignment operator, and then
providing defaulted definitions of the move constructor and move assignment operator.
\begin{codeblock}
Expand Down
2 changes: 1 addition & 1 deletion source/iostreams.tex
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
\pnum
Figure~\ref{fig:streampos} illustrates relationships among various types
described in this clause. A line from \textbf{A} to \textbf{B} indicates that \textbf{A}
is an alias (e.g. a typedef) for \textbf{B} or that \textbf{A} is defined in terms of
is an alias (e.g., a typedef) for \textbf{B} or that \textbf{A} is defined in terms of
\textbf{B}.

\begin{importgraphic}
Expand Down
2 changes: 1 addition & 1 deletion source/lib-intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2596,7 +2596,7 @@
If the parameter is a generic parameter of the form \tcode{T\&\&} and an lvalue of type
\tcode{A} is bound, the argument binds to an lvalue reference~(\ref{temp.deduct.call})
and thus is not covered by the previous sentence. \end{note} \begin{note} If a program casts
an lvalue to an xvalue while passing that lvalue to a library function (e.g. by calling the function
an lvalue to an xvalue while passing that lvalue to a library function (e.g., by calling the function
with the argument \tcode{std::move(x)}), the program
is effectively asking that function to treat that lvalue as a temporary. The implementation
is free to optimize away aliasing checks which might be needed if the argument was
Expand Down
2 changes: 1 addition & 1 deletion source/overloading.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1624,7 +1624,7 @@

\item the context is an initialization by conversion function for direct
reference binding (\ref{over.match.ref}) of a reference to function type, the
return type of \tcode{F1} is the same kind of reference (i.e. lvalue or rvalue)
return type of \tcode{F1} is the same kind of reference (i.e., lvalue or rvalue)
as the reference being initialized, and the return type of \tcode{F2} is not
\begin{example}
\begin{codeblock}
Expand Down
2 changes: 1 addition & 1 deletion source/tables.tex
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@

% General Usage: TITLE is the title of the table, XREF is the
% cross-reference for the table. LAYOUT is a sequence of column
% type specifiers (e.g. cp{1.0}c), without '|' for the left edge
% type specifiers (e.g., cp{1.0}c), without '|' for the left edge
% or right edge.

% usage: \begin{floattablebase}{TITLE}{XREF}{COLUMNS}{PLACEMENT}
Expand Down
2 changes: 1 addition & 1 deletion source/templates.tex
Original file line number Diff line number Diff line change
Expand Up @@ -626,7 +626,7 @@
the \grammarterm{template-id}. \begin{note} The second \tcode{>}
token produced by this replacement rule may terminate an enclosing
\grammarterm{template-id} construct or it may be part of a different
construct (e.g. a cast).\end{note}
construct (e.g., a cast).\end{note}
\begin{example}

\begin{codeblock}
Expand Down
6 changes: 3 additions & 3 deletions source/threads.tex
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,13 @@

\begin{itemize}
\item
if $C_a > C_t$, the waiting function should wake as soon as possible, i.e. $C_a + D_i + D_m$,
if $C_a > C_t$, the waiting function should wake as soon as possible, i.e., $C_a + D_i + D_m$,
since the timeout is already satisfied. \begin{note} This specification may result in the total
duration of the wait decreasing when measured against a steady clock. \end{note}

\item
if $C_a <= C_t$, the waiting function should not time out until \tcode{Clock::now()} returns a
time $C_n >= C_t$, i.e. waking at $C_t + D_i + D_m$. \begin{note} When the clock is adjusted
time $C_n >= C_t$, i.e., waking at $C_t + D_i + D_m$. \begin{note} When the clock is adjusted
backwards, this specification may result in the total duration of the wait increasing when
measured against a steady clock. When the clock is adjusted forwards, this specification may
result in the total duration of the wait decreasing when measured against a steady clock.
Expand Down Expand Up @@ -147,7 +147,7 @@
An \defn{execution agent} is an entity such as a thread that may perform work in parallel with
other execution agents. \begin{note} Implementations or users may introduce other kinds of
agents such as processes or thread-pool tasks. \end{note} The calling agent is determined by
context, e.g. the calling thread that contains the call, and so on.
context, e.g., the calling thread that contains the call, and so on.
Copy link
Member

@zygoloid zygoloid Mar 25, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not think we need both an 'e.g.' and an 'and so on' here.

Copy link
Member

@jensmaurer jensmaurer Mar 25, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually think the entire "e.g." part needs a more drastic rewrite. This just doesn't read well.
And what "call" are we talking about? A "function call" in the syntactic sense of [expr.call]?
Suggestion: "is determined by the context, such as the thread of execution that contains the invocation of the function." (This is consistent with [intro.multithread] p2.)

Oh, and does this note attempt to define the term "calling agent"? Then it would be totally misguided.


\pnum
\begin{note} Some lockable objects are ``agent oblivious'' in that they work for any
Expand Down
4 changes: 2 additions & 2 deletions source/utilities.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5166,7 +5166,7 @@
\pnum
\complexity
For \tcode{sizeof...(Variants) <= 1}, the invocation of the callable object is
implemented in constant time, i.e. it does not depend on \tcode{sizeof...(Types).}
implemented in constant time, i.e., it does not depend on \tcode{sizeof...(Types).}
For \tcode{sizeof...(Variants) > 1}, the invocation of the callable object has
no complexity requirements.
\end{itemdescr}
Expand Down Expand Up @@ -5315,7 +5315,7 @@
\pnum
\begin{note}
The discriminated type may contain values of different types but does not attempt conversion between them,
i.e. \tcode{5} is held strictly as an \tcode{int} and is not implicitly convertible either to \tcode{"5"} or to \tcode{5.0}.
i.e., \tcode{5} is held strictly as an \tcode{int} and is not implicitly convertible either to \tcode{"5"} or to \tcode{5.0}.
This indifference to interpretation but awareness of type effectively allows safe, generic containers of single values, with no scope for surprises from ambiguous conversions.
\end{note}

Expand Down