Skip to content

ci: Document with a patched roxygen2 that keeps the sentence gap - #1701

Open
krlmlr wants to merge 2 commits into
tidyverse:mainfrom
krlmlr:claude/roxygen2-fork
Open

krlmlr wants to merge 2 commits into
tidyverse:mainfrom
krlmlr:claude/roxygen2-fork

Conversation

@krlmlr

@krlmlr krlmlr commented Sep 13, 2026 •

Copy link
Copy Markdown
Member

Split out of #1700 so it can be decided on its own. It branches from main rather than from that chain, so the two do not depend on each other in either direction.

commonmark discards the whitespace a line break stands for. roxygen2 turns every softbreak into a bare newline, so the .Rd carries a line break with nothing after it and Rd2txt() renders it as a single space. Prose written one sentence per line therefore comes out single-spaced, while the same words wrapped to a fixed width with two spaces after the period keep the gap. Only the text renderer is affected — Rd2HTML() and Rd2latex() differ by whitespace that HTML and TeX collapse, and LaTeX applies its own sentence spacing regardless — but text is what ?topic shows.

A new composite action, .github/workflows/roxygen2-fork, installs roxygen2 from upstream with the R/ part of krlmlr/roxygen2@f-sentence-spacing applied on top, and R-CMD-check.yaml runs it immediately before the Roxygenize step. It shallow-clones upstream, fetches the branch, computes the diff against their merge base restricted to R/, and applies it with git apply --3way. Restricting to R/ means an unrelated upstream change to a test fixture cannot fail the documentation step. It aborts if the patch is empty or does not apply, rather than silently installing an unpatched build, and afterwards asserts that what it installed really carries the patch.

Config/roxygen2/version becomes 8.1.0.9100. The .9100 suffix distinguishes a patched build from upstream's own .9000 development builds; if upstream moves, the x.y.z part follows it and the suffix stays. DESCRIPTION is DCF and cannot carry a comment line, so the explanation lives in a Config/cynkra/roxygen2 field.

man/ is not committed here. CI regenerates it, so merging this is what produces the updated .Rd files, and the diff stays reviewable.

The roxygen2 side is krlmlr/roxygen2#8, on the fork, not yet filed with r-lib. It is deliberately narrow: mid-sentence breaks are untouched, links are unaffected, and two guards keep it from firing wrongly — an abbreviation list so a line ending in e.g. or et al. does not gain a mid-sentence gap, and a fix for a determinism bug where a line starting with \doi{} or \code{} gained or lost its gap at random.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WWhverMTZZKgEpUuTK117m

krlmlr and others added 2 commits September 14, 2026 05:48
commonmark discards the whitespace a line break stands for, so roxygen prose written
one sentence per line loses the gap between sentences in the rendered help.
Only the text renderer is affected, which is what `?topic` shows.

A new composite action installs roxygen2 from upstream with the R/ part of
krlmlr/roxygen2@f-sentence-spacing applied on top, and runs just before the
Roxygenize step. It shallow-clones upstream, fetches the branch, applies the diff
restricted to R/ so conflicts in the test files cannot fail it, and aborts rather
than silently installing an unpatched build. It then asserts that what it installed
really carries the patch.

Config/roxygen2/version becomes 8.1.0.9100. The .9100 suffix distinguishes a patched
build from upstream's own .9000 development builds; if upstream moves, the x.y.z part
follows it and the suffix stays. DESCRIPTION is DCF and cannot carry a comment, so the
explanation lives in a Config/cynkra/roxygen2 field.

This is a separate decision from the line-break reformatting, and is kept in its own
pull request so it can be taken or left on its own. Without it, the reformatting
simply renders as it does today, with one space between sentences.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WWhverMTZZKgEpUuTK117m
…l escape

The version stamp wrote the replacement as "\1". R parses that as the octal
escape for \001, not as a regex backreference, so DESCRIPTION ended up with a
malformed version and R CMD INSTALL aborted with "Malformed package version".
Every job that installs roxygen2 through this action failed there. The
replacement is now "\\1", verified to stamp 8.1.0.9000 to 8.1.0.9100.

The post-install guard asserted only the .9100 suffix, and the corrupt
"\001.9100" satisfies that too, which is why the bug survived the check meant
to catch it. The guard now asserts the whole x.y.z.9100 shape, and passes
inherits = FALSE to exists().

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WWhverMTZZKgEpUuTK117m
@krlmlr
krlmlr force-pushed the claude/roxygen2-fork branch from aa22da6 to 063ff8e Compare September 14, 2026 05:49
@github-actions

Copy link
Copy Markdown
Contributor

Formatting suggestions available

A patch file with formatting suggestions has been generated. You can apply it using one of these methods:

Method 1: Apply via gh CLI

# Download and apply the patch directly
gh run download 34811045854 --repo tidyverse/tibble --name changes-patch && patch -p1 < changes.patch && rm changes.patch

Repo owners can also apply the patch automatically. Click the button to jump to the comment box, then post:

/apply-patch

Apply patch

Method 2: View the patch

Click to see the patch contents
diff --git a/man/add_column.Rd b/man/add_column.Rd
index d64e6ca1..b84947db 100644
--- a/man/add_column.Rd
+++ b/man/add_column.Rd
@@ -38,7 +38,7 @@ for names in the style of base R).
 }
 
 This argument is passed on as \code{repair} to \code{\link[vctrs:vec_as_names]{vctrs::vec_as_names()}}.
-See there for more details on these terms and the strategies used
+ See there for more details on these terms and the strategies used
 to enforce them.}
 }
 \description{
diff --git a/man/as_tibble.Rd b/man/as_tibble.Rd
index e1580a8e..3aa1b3e7 100644
--- a/man/as_tibble.Rd
+++ b/man/as_tibble.Rd
@@ -80,7 +80,7 @@ for names in the style of base R).
 }
 
 This argument is passed on as \code{repair} to \code{\link[vctrs:vec_as_names]{vctrs::vec_as_names()}}.
-See there for more details on these terms and the strategies used
+ See there for more details on these terms and the strategies used
 to enforce them.}
 
 \item{rownames}{How to treat existing row names of a data frame or matrix:
@@ -89,9 +89,9 @@ to enforce them.}
 \item \code{NA}: keep row names.
 \item A string: the name of a new column. Existing rownames are transferred
 into this column and the \code{row.names} attribute is deleted.
-No name repair is applied to the new column name, even if \code{x} already contains
+ No name repair is applied to the new column name, even if \code{x} already contains
 a column of that name.
-Use \code{as_tibble(rownames_to_column(...))} to safeguard against this case.
+ Use \code{as_tibble(rownames_to_column(...))} to safeguard against this case.
 }
 
 Read more in \link{rownames}.}
@@ -108,7 +108,7 @@ For compatibility only, do not use for new code.}
 \code{as_tibble()} turns an existing object, such as a data frame or
 matrix, into a so-called tibble, a data frame with class \code{\link{tbl_df}}. This is
 in contrast with \code{\link[=tibble]{tibble()}}, which builds a tibble from individual columns.
-\code{as_tibble()} is to \code{\link[=tibble]{tibble()}} as \code{\link[base:as.data.frame]{base::as.data.frame()}} is to
+ \code{as_tibble()} is to \code{\link[=tibble]{tibble()}} as \code{\link[base:as.data.frame]{base::as.data.frame()}} is to
 \code{\link[base:data.frame]{base::data.frame()}}.
 
 \code{as_tibble()} is an S3 generic, with methods for:
@@ -121,7 +121,7 @@ that implements tibble's treatment of \link{rownames}.
 }
 
 \code{as_tibble_row()} converts a vector to a tibble with one row.
-If the input is a list, all elements must have size one.
+ If the input is a list, all elements must have size one.
 
 \code{as_tibble_col()} converts a vector to a tibble with one column.
 }
diff --git a/man/char.Rd b/man/char.Rd
index 665226bc..e0cb779e 100644
--- a/man/char.Rd
+++ b/man/char.Rd
@@ -25,7 +25,7 @@ set_char_opts(
 \item{...}{These dots are for future extensions and must be empty.}
 
 \item{min_chars}{The minimum width to allocate to this column, defaults to 15.
-The \code{"pillar.min_chars"} \link[pillar:pillar_options]{option} is not consulted.}
+ The \code{"pillar.min_chars"} \link[pillar:pillar_options]{option} is not consulted.}
 
 \item{shorten}{How to abbreviate the data if necessary:
 \itemize{
diff --git a/man/enframe.Rd b/man/enframe.Rd
index 9448297e..62c4ef71 100644
--- a/man/enframe.Rd
+++ b/man/enframe.Rd
@@ -14,7 +14,7 @@ deframe(x)
 (for \code{deframe()}).}
 
 \item{name, value}{Names of the columns that store the names and values.
-If \code{name} is \code{NULL}, a one-column tibble is returned; \code{value} cannot be \code{NULL}.}
+ If \code{name} is \code{NULL}, a one-column tibble is returned; \code{value} cannot be \code{NULL}.}
 }
 \value{
 For \code{enframe()}, a \link{tibble} with two columns (if \code{name} is not \code{NULL}, the default)
@@ -25,12 +25,12 @@ For \code{deframe()}, a vector (named or unnamed).
 \description{
 \code{enframe()} converts named atomic vectors or lists to one- or two-column
 data frames.
-For a list, the result will be a nested tibble with a column of type \code{list}.
-For unnamed vectors, the natural sequence is used as name column.
+ For a list, the result will be a nested tibble with a column of type \code{list}.
+ For unnamed vectors, the natural sequence is used as name column.
 
 \code{deframe()} converts two-column data frames to a named vector or list,
 using the first column as name and the second column as value.
-If the input has only one column, an unnamed vector is returned.
+ If the input has only one column, an unnamed vector is returned.
 }
 \examples{
 enframe(1:3)
diff --git a/man/formatting.Rd b/man/formatting.Rd
index 10dc2c33..7a74247f 100644
--- a/man/formatting.Rd
+++ b/man/formatting.Rd
@@ -36,13 +36,13 @@ means use the \code{width} \link[pillar:pillar_options]{option}.}
 
 \item{n}{Number of rows to show. If \code{NULL}, the default, will print all rows
 if less than the \code{print_max} \link[pillar:pillar_options]{option}.
-Otherwise, will print as many rows as specified by the
+ Otherwise, will print as many rows as specified by the
 \code{print_min} \link[pillar:pillar_options]{option}.}
 
 \item{max_extra_cols}{Number of extra columns to print abbreviated information for,
 if the width is too small for the entire tibble. If \code{NULL},
 the \code{max_extra_cols} \link[pillar:pillar_options]{option} is used.
-The previously defined \code{n_extra} argument is soft-deprecated.}
+ The previously defined \code{n_extra} argument is soft-deprecated.}
 
 \item{max_footer_lines}{Maximum number of footer lines. If \code{NULL},
 the \code{max_footer_lines} \link[pillar:pillar_options]{option} is used.}
@@ -54,21 +54,21 @@ One of the main features of the \code{tbl_df} class is the printing:
 supplemented by a summary of the remaining rows and columns.
 \item Tibble reveals the type of each column, which keeps the user informed about
 whether a variable is, e.g., \verb{<chr>} or \verb{<fct>} (character versus factor).
-See \code{vignette("types")} for an overview of common
+ See \code{vignette("types")} for an overview of common
 type abbreviations.
 }
 
 Printing can be tweaked for a one-off call by calling \code{print()} explicitly
 and setting arguments like \code{n} and \code{width}. More persistent control is
 available by setting the options described in \link[pillar:pillar_options]{pillar::pillar_options}.
-See also \code{vignette("digits")} for a comparison to base options,
+ See also \code{vignette("digits")} for a comparison to base options,
 and \code{vignette("numbers")} that showcases \code{\link[=num]{num()}} and \code{\link[=char]{char()}}
 for creating columns with custom formatting options.
 
 As of tibble 3.1.0, printing is handled entirely by the \pkg{pillar} package.
-If you implement a package that extends tibble,
+ If you implement a package that extends tibble,
 the printed output can be customized in various ways.
-See \code{vignette("extending", package = "pillar")} for details,
+ See \code{vignette("extending", package = "pillar")} for details,
 and \link[pillar:pillar_options]{pillar::pillar_options} for options that control the display in the console.
 }
 \examples{
diff --git a/man/frame_matrix.Rd b/man/frame_matrix.Rd
index dfa9adf3..eae9029c 100644
--- a/man/frame_matrix.Rd
+++ b/man/frame_matrix.Rd
@@ -9,8 +9,8 @@ frame_matrix(...)
 \arguments{
 \item{...}{<\code{\link[rlang:dyn-dots]{dynamic-dots}}>
 Arguments specifying the structure of a \code{frame_matrix}.
-Column names should be formulas, and may only appear before the data.
-These arguments are processed with \code{\link[rlang:list2]{rlang::list2()}}
+ Column names should be formulas, and may only appear before the data.
+ These arguments are processed with \code{\link[rlang:list2]{rlang::list2()}}
 and support unquote via \code{\link[rlang:!!]{!!}} and unquote-splice via \code{\link[rlang:!!!]{!!!}}.}
 }
 \value{
@@ -19,7 +19,7 @@ A \link{matrix}.
 \description{
 Create matrices laying out the data in rows, similar to
 \code{matrix(..., byrow = TRUE)}, with a nicer-to-read syntax.
-This is useful for small matrices, e.g. covariance matrices, where readability
+ This is useful for small matrices, e.g. covariance matrices, where readability
 is important. The syntax is inspired by \code{\link[=tribble]{tribble()}}.
 }
 \examples{
diff --git a/man/lst.Rd b/man/lst.Rd
index 50551936..edb28c9f 100644
--- a/man/lst.Rd
+++ b/man/lst.Rd
@@ -13,9 +13,9 @@ processed with \code{\link[rlang:quos]{rlang::quos()}} and support unquote via \
 unquote-splice via \code{\link[rlang:!!!]{!!!}}. Use \verb{:=} to create columns that start with a dot.
 
 Arguments are evaluated sequentially.
-You can refer to previously created elements directly or using the \link[rlang:.data]{.data}
+ You can refer to previously created elements directly or using the \link[rlang:.data]{.data}
 pronoun.
-To refer explicitly to objects in the calling environment, use \code{\link[rlang:!!]{!!}} or
+ To refer explicitly to objects in the calling environment, use \code{\link[rlang:!!]{!!}} or
 \link[rlang:.env]{.env}, e.g. \code{!!.data} or \code{.env$.data} for the special case of an object
 named \code{.data}.}
 }
diff --git a/man/name-repair-superseded.Rd b/man/name-repair-superseded.Rd
index a8c18b66..7ce140ce 100644
--- a/man/name-repair-superseded.Rd
+++ b/man/name-repair-superseded.Rd
@@ -42,7 +42,7 @@ to facilitate \emph{post hoc} name repair in tibble, given that \code{\link[=tib
 
 From tibble v2.0.0, the \code{.name_repair} argument gives direct access to three
 specific levels of name repair: \code{minimal}, \code{unique}, and \code{universal}.
-See \code{\link[vctrs:vec_as_names]{vctrs::vec_as_names()}} for the implementation of the underlying logic.
+ See \code{\link[vctrs:vec_as_names]{vctrs::vec_as_names()}} for the implementation of the underlying logic.
 }
 \section{Life cycle}{
 
diff --git a/man/new_tibble.Rd b/man/new_tibble.Rd
index 256352a3..8ef16169 100644
--- a/man/new_tibble.Rd
+++ b/man/new_tibble.Rd
@@ -22,27 +22,27 @@ validate_tibble(x)
 }
 \description{
 Creates or validates a subclass of a tibble.
-These function is mostly useful for package authors that implement subclasses
+ These function is mostly useful for package authors that implement subclasses
 of a tibble, like \pkg{sf} or \pkg{tsibble}.
 
 \code{new_tibble()} creates a new object as a subclass of \code{tbl_df}, \code{tbl} and \code{data.frame}.
-This function is optimized for performance, checks are reduced to a minimum.
-See \code{\link[vctrs:new_data_frame]{vctrs::new_data_frame()}} for details.
+ This function is optimized for performance, checks are reduced to a minimum.
+ See \code{\link[vctrs:new_data_frame]{vctrs::new_data_frame()}} for details.
 
 \code{validate_tibble()} checks a tibble for internal consistency.
-Correct behavior can be guaranteed only if this function
+ Correct behavior can be guaranteed only if this function
 runs without raising an error.
 }
 \section{Construction}{
 
 
 For \code{new_tibble()}, \code{x} must be a list.
-The \code{nrow} argument may be omitted as of tibble 3.1.4.
-If present, every element of the list \code{x} should have \code{\link[vctrs:vec_size]{vctrs::vec_size()}}
+ The \code{nrow} argument may be omitted as of tibble 3.1.4.
+ If present, every element of the list \code{x} should have \code{\link[vctrs:vec_size]{vctrs::vec_size()}}
 equal to this value.
-(But this is not checked by the constructor).
-This takes the place of the "row.names" attribute in a data frame.
-\code{x} must have names (or be empty),
+ (But this is not checked by the constructor).
+ This takes the place of the "row.names" attribute in a data frame.
+ \code{x} must have names (or be empty),
 but the names are not checked for correctness.
 }
 
@@ -50,7 +50,7 @@ but the names are not checked for correctness.
 
 \code{validate_tibble()} checks for "minimal" names
 and that all columns are vectors, data frames or matrices.
-It also makes sure that all columns have the same length,
+ It also makes sure that all columns have the same length,
 and that \code{\link[vctrs:vec_size]{vctrs::vec_size()}} is consistent with the data.
 }
 
diff --git a/man/num.Rd b/man/num.Rd
index c071d5f4..119adc69 100644
--- a/man/num.Rd
+++ b/man/num.Rd
@@ -35,21 +35,21 @@ set_num_opts(
 \item{...}{These dots are for future extensions and must be empty.}
 
 \item{sigfig}{Define the number of significant digits to show. Must be one or greater.
-The \code{"pillar.sigfig"} \link[pillar:pillar_options]{option} is not consulted.
-Can't be combined with \code{digits}.}
+ The \code{"pillar.sigfig"} \link[pillar:pillar_options]{option} is not consulted.
+ Can't be combined with \code{digits}.}
 
 \item{digits}{Number of digits after the decimal points to show.
-Positive numbers specify the exact number of digits to show.
-Negative numbers specify (after negation) the maximum number of digits to show.
-With \code{digits = 2}, the numbers 1.2 and 1.234 are printed as 1.20 and 1.23,
+ Positive numbers specify the exact number of digits to show.
+ Negative numbers specify (after negation) the maximum number of digits to show.
+ With \code{digits = 2}, the numbers 1.2 and 1.234 are printed as 1.20 and 1.23,
 with \code{digits = -2} as 1.2 and 1.23, respectively.
-Can't be combined with \code{sigfig}.}
+ Can't be combined with \code{sigfig}.}
 
 \item{label}{A label to show instead of the type description.}
 
 \item{scale}{Multiplier to apply to the data before showing.
-Useful for displaying e.g. percentages.
-Must be combined with \code{label}.}
+ Useful for displaying e.g. percentages.
+ Must be combined with \code{label}.}
 
 \item{notation}{One of \code{"fit"}, \code{"dec"}, \code{"sci"}, \code{"eng"}, or \code{"si"}.
 \itemize{
@@ -63,8 +63,8 @@ using exponents that are a multiple of three.
 }}
 
 \item{fixed_exponent}{Use the same exponent for all numbers in scientific, engineering or SI notation.
-\code{-Inf} uses the smallest, \code{+Inf} the largest fixed_exponent present in the data.
-The default is to use varying exponents.}
+ \code{-Inf} uses the smallest, \code{+Inf} the largest fixed_exponent present in the data.
+ The default is to use varying exponents.}
 
 \item{extra_sigfig}{If \code{TRUE}, increase the number of significant digits if the data consists of
 numbers of the same magnitude with subtle differences.}
@@ -75,13 +75,13 @@ numbers of the same magnitude with subtle differences.}
 Constructs a numeric vector that can be formatted with predefined
 significant digits, or with a maximum or fixed number of digits
 after the decimal point.
-Scaling is supported, as well as forcing a decimal, scientific
+ Scaling is supported, as well as forcing a decimal, scientific
 or engineering notation.
-If a label is given, it is shown in the header of a column.
+ If a label is given, it is shown in the header of a column.
 
 The formatting is applied when the vector is printed or formatted,
 and also in a tibble column.
-The formatting annotation and the class survives most arithmetic transformations,
+ The formatting annotation and the class survives most arithmetic transformations,
 the most notable exceptions are \code{\link[=var]{var()}} and \code{\link[=sd]{sd()}}.
 
 \code{set_num_opts()} adds formatting options to an arbitrary numeric vector,
diff --git a/man/rownames.Rd b/man/rownames.Rd
index 9e86b8c2..da23adac 100644
--- a/man/rownames.Rd
+++ b/man/rownames.Rd
@@ -26,22 +26,22 @@ column_to_rownames(.data, var = "rowname")
 }
 \value{
 \code{column_to_rownames()} always returns a data frame.
-\code{has_rownames()} returns a scalar logical.
-All other functions return an object of the same class as the input.
+ \code{has_rownames()} returns a scalar logical.
+ All other functions return an object of the same class as the input.
 }
 \description{
 While a tibble can have row names (e.g., when converting from a regular data
 frame), they are removed when subsetting with the \code{[} operator.
-A warning will be raised when attempting to assign non-\code{NULL} row names
+ A warning will be raised when attempting to assign non-\code{NULL} row names
 to a tibble.
-Generally, it is best to avoid row names, because they are basically a
+ Generally, it is best to avoid row names, because they are basically a
 character column with different semantics than every other column.
 
 These functions allow to you detect if a data frame has row names
 (\code{has_rownames()}), remove them (\code{remove_rownames()}), or convert
 them back-and-forth between an explicit column (\code{rownames_to_column()}
 and \code{column_to_rownames()}).
-Also included is \code{rowid_to_column()}, which adds a column at the start of the
+ Also included is \code{rowid_to_column()}, which adds a column at the start of the
 dataframe of ascending sequential row ids starting at 1. Note that this will
 remove any existing row names.
 }
diff --git a/man/subsetting.Rd b/man/subsetting.Rd
index a6aede7b..cff4b5f7 100644
--- a/man/subsetting.Rd
+++ b/man/subsetting.Rd
@@ -34,10 +34,10 @@
 \item{exact}{Ignored, with a warning.}
 
 \item{drop}{Coerce to a vector if fetching one column via \code{tbl[, j]} .
-Default \code{FALSE}, ignored when accessing a column via \code{tbl[j]} .}
+ Default \code{FALSE}, ignored when accessing a column via \code{tbl[j]} .}
 
 \item{value}{A value to store in a row, column, range or cell.
-Tibbles are stricter than data frames in what is accepted here.}
+ Tibbles are stricter than data frames in what is accepted here.}
 }
 \description{
 Accessing columns, rows, or cells via \code{$}, \code{[[}, or \code{[} is mostly similar to
@@ -48,14 +48,14 @@ behavior is different for tibbles and data frames in some cases:
 only one column is accessed.
 \item Partial matching of column names with \code{$} and \code{[[} is not supported, and
 \code{NULL} is returned.
-For \code{$}, a warning is given.
+ For \code{$}, a warning is given.
 \item Only scalars (vectors of length one) or vectors with the
 same length as the number of rows can be used for assignment.
 \item Rows outside of the tibble's boundaries cannot be accessed.
 \item When updating with \verb{[[<-} and \verb{[<-}, type changes of entire columns are
 supported, but updating a part of a column requires that the new value is
 coercible to the existing type.
-See \code{\link[vctrs:vec_slice]{vec_slice()}} for the underlying implementation.
+ See \code{\link[vctrs:vec_slice]{vec_slice()}} for the underlying implementation.
 }
 
 Unstable return type and implicit partial matching can lead to surprises and
@@ -65,7 +65,7 @@ data frame behavior, coerce to a data frame via \code{\link[=as.data.frame]{as.d
 \details{
 For better compatibility with older code written for regular data frames,
 \code{[} supports a \code{drop} argument which defaults to \code{FALSE}.
-New code should use \code{[[} to turn a column into a vector.
+ New code should use \code{[[} to turn a column into a vector.
 }
 \examples{
 df <- data.frame(a = 1:3, bc = 4:6)
diff --git a/man/tbl_df-class.Rd b/man/tbl_df-class.Rd
index 2aaae1d2..56047fe7 100644
--- a/man/tbl_df-class.Rd
+++ b/man/tbl_df-class.Rd
@@ -31,7 +31,7 @@ Objects of class \code{tbl_df} have:
 \item A \code{names} attribute that is a character vector the same length as the
 underlying list.
 \item A \code{row.names} attribute, included for compatibility with \link{data.frame}.
-This attribute is only consulted to query the number of rows,
+ This attribute is only consulted to query the number of rows,
 any row names that might be stored there are ignored
 by most tibble methods.
 }
@@ -44,13 +44,13 @@ How default behaviour of tibbles differs from that of
 \link{data.frame}s, during creation and access:
 \itemize{
 \item Column data is not coerced. A character vector is not turned into a factor.
-List-columns are expressly anticipated and do not require special tricks.
-Internal names are never stripped from column data.
-Read more in \code{\link[=tibble]{tibble()}}.
+ List-columns are expressly anticipated and do not require special tricks.
+ Internal names are never stripped from column data.
+ Read more in \code{\link[=tibble]{tibble()}}.
 \item Recycling only happens for a length 1 input.
-Read more in \code{\link[vctrs:vec_recycle]{vctrs::vec_recycle()}}.
+ Read more in \code{\link[vctrs:vec_recycle]{vctrs::vec_recycle()}}.
 \item Column names are not munged, although missing names are auto-populated.
-Empty and duplicated column names are strongly discouraged, but the user
+ Empty and duplicated column names are strongly discouraged, but the user
 must indicate how to resolve. Read more in \code{\link[vctrs:vec_as_names]{vctrs::vec_as_names()}}.
 \item Row names are not added and are strongly discouraged, in favor of storing
 that info as a column. Read about in \link{rownames}.
@@ -63,7 +63,7 @@ for a nonexistent name generates a warning. Read more in \link{subsetting}.
 See \code{vignette("invariants")} for a detailed description of the behavior.
 
 Furthermore, printing and inspection are a very high priority.
-The goal is to convey as much information as possible, in a concise way,
+ The goal is to convey as much information as possible, in a concise way,
 even for large and complex tibbles. Read more in \link{formatting}.
 }
 
diff --git a/man/tibble.Rd b/man/tibble.Rd
index 8c33df52..1f177f68 100644
--- a/man/tibble.Rd
+++ b/man/tibble.Rd
@@ -25,9 +25,9 @@ processed with \code{\link[rlang:quos]{rlang::quos()}} and support unquote via \
 unquote-splice via \code{\link[rlang:!!!]{!!!}}. Use \verb{:=} to create columns that start with a dot.
 
 Arguments are evaluated sequentially.
-You can refer to previously created elements directly or using the \link[rlang:.data]{.data}
+ You can refer to previously created elements directly or using the \link[rlang:.data]{.data}
 pronoun.
-To refer explicitly to objects in the calling environment, use \code{\link[rlang:!!]{!!}} or
+ To refer explicitly to objects in the calling environment, use \code{\link[rlang:!!]{!!}} or
 \link[rlang:.env]{.env}, e.g. \code{!!.data} or \code{.env$.data} for the special case of an object
 named \code{.data}.}
 
@@ -49,7 +49,7 @@ for names in the style of base R).
 }
 
 This argument is passed on as \code{repair} to \code{\link[vctrs:vec_as_names]{vctrs::vec_as_names()}}.
-See there for more details on these terms and the strategies used
+ See there for more details on these terms and the strategies used
 to enforce them.}
 }
 \value{
@@ -77,13 +77,13 @@ transforming the user's input.
 refer to columns created earlier in the call. Only columns of length one
 are recycled.
 \item If a column evaluates to a data frame or tibble, it is nested or spliced.
-If it evaluates to a matrix or a array, it remains a matrix or array,
+ If it evaluates to a matrix or a array, it remains a matrix or array,
 respectively.
-See examples.
+ See examples.
 }
 
 \code{tibble_row()} constructs a data frame that is guaranteed to occupy one row.
-Vector columns are required to have size one, non-vector columns are wrapped
+ Vector columns are required to have size one, non-vector columns are wrapped
 in a list.
 }
 \examples{
@@ -188,6 +188,6 @@ tibble_row(a = 1, lm = lm(Height ~ Girth + Volume, data = trees))
 Use \code{\link[=as_tibble]{as_tibble()}} to turn an existing object into a tibble. Use
 \code{enframe()} to convert a named vector into a tibble. Name repair is
 detailed in \code{\link[vctrs:vec_as_names]{vctrs::vec_as_names()}}.
-See \link[rlang:quasiquotation]{quasiquotation} for more details on tidy dots semantics,
+ See \link[rlang:quasiquotation]{quasiquotation} for more details on tidy dots semantics,
 i.e. exactly how  the \code{...} argument is processed.
 }
diff --git a/man/tibble_options.Rd b/man/tibble_options.Rd
index 733cb113..331e4620 100644
--- a/man/tibble_options.Rd
+++ b/man/tibble_options.Rd
@@ -8,16 +8,16 @@ tibble_options
 }
 \description{
 Options that affect interactive display.
-See \link[pillar:pillar_options]{pillar::pillar_options} for options that affect display on the console,
+ See \link[pillar:pillar_options]{pillar::pillar_options} for options that affect display on the console,
 and \code{\link[cli:num_ansi_colors]{cli::num_ansi_colors()}} for enabling and disabling colored output
 via ANSI sequences like \verb{[3m[38;5;246m[39m[23m}.
 }
 \details{
 These options can be set via \code{\link[=options]{options()}} and queried via \code{\link[=getOption]{getOption()}}.
-For this, add a \code{tibble.} prefix (the package name and a dot) to the option name.
-Example: for an option \code{foo}, use \code{options(tibble.foo = value)} to set it
+ For this, add a \code{tibble.} prefix (the package name and a dot) to the option name.
+ Example: for an option \code{foo}, use \code{options(tibble.foo = value)} to set it
 and \code{getOption("tibble.foo")} to retrieve the current value.
-An option value of \code{NULL} means that the default is used.
+ An option value of \code{NULL} means that the default is used.
 }
 \section{Options for the tibble package}{
 
diff --git a/man/tribble.Rd b/man/tribble.Rd
index cc2cc610..b9aa3de8 100644
--- a/man/tribble.Rd
+++ b/man/tribble.Rd
@@ -9,8 +9,8 @@ tribble(...)
 \arguments{
 \item{...}{<\code{\link[rlang:dyn-dots]{dynamic-dots}}>
 Arguments specifying the structure of a \code{tibble}.
-Variable names should be formulas, and may only appear before the data.
-These arguments are processed with \code{\link[rlang:list2]{rlang::list2()}}
+ Variable names should be formulas, and may only appear before the data.
+ These arguments are processed with \code{\link[rlang:list2]{rlang::list2()}}
 and support unquote via \code{\link[rlang:!!]{!!}} and unquote-splice via \code{\link[rlang:!!!]{!!!}}.}
 }
 \value{
@@ -18,7 +18,7 @@ A \link{tibble}.
 }
 \description{
 Create \link{tibble}s using an easier to read row-by-row layout.
-This is useful for small tables of data where readability is
+ This is useful for small tables of data where readability is
 important.  Please see \link{tibble-package} for a general introduction.
 }
 \examples{
diff --git a/man/trunc_mat.Rd b/man/trunc_mat.Rd
index 27a66834..7fc4cdaa 100644
--- a/man/trunc_mat.Rd
+++ b/man/trunc_mat.Rd
@@ -26,14 +26,14 @@ will print information about at most \code{tibble.max_extra_cols} extra columns.
 \value{
 An object with a \code{print()} method that will print the input
 similarly to a tibble.
-The internal data format is an implementation detail, do not rely on it.
+ The internal data format is an implementation detail, do not rely on it.
 }
 \description{
 \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#deprecated}{\figure{lifecycle-deprecated.svg}{options: alt='[Deprecated]'}}}{\strong{[Deprecated]}}
 As of tibble 3.1.0, printing is handled entirely by the \pkg{pillar} package.
-Do not use this function.
-If you implement a package that extend tibble,
+ Do not use this function.
+ If you implement a package that extend tibble,
 the printed output can be customized in various ways.
-See \code{vignette("extending", package = "pillar")} for details.
+ See \code{vignette("extending", package = "pillar")} for details.
 }
 \keyword{internal}
diff --git a/man/view.Rd b/man/view.Rd
index 64e0ecc3..b7fad984 100644
--- a/man/view.Rd
+++ b/man/view.Rd
@@ -21,10 +21,10 @@ data frame. Uses the \code{view_max} \link[=tibble_options]{option} by default.}
 \ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}}
 
 Calls \code{\link[utils:View]{utils::View()}} on the input and returns it, invisibly.
-If the input is not a data frame, it is processed using a variant of
+ If the input is not a data frame, it is processed using a variant of
 \code{as.data.frame(head(x, n))}.
-A message is printed if the number of rows exceeds \code{n}.
-This function has no effect in non\link{interactive} sessions.
+ A message is printed if the number of rows exceeds \code{n}.
+ This function has no effect in non\link{interactive} sessions.
 }
 \details{
 The RStudio IDE overrides \code{utils::View()}, this is picked up

This comment was automatically generated by the commit-suggester workflow.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants