Skip to content

refactor: move optional arguments of centralization functions behind the ellipsis#2764

Merged
krlmlr merged 1 commit into
mainfrom
claude/ellipsis-centralization
Jul 26, 2026
Merged

refactor: move optional arguments of centralization functions behind the ellipsis#2764
krlmlr merged 1 commit into
mainfrom
claude/ellipsis-centralization

Conversation

@krlmlr

@krlmlr krlmlr commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Part of the repo-wide ellipsis migration coordinated in #2757
see that PR for the full rationale (CONTRIBUTING.md, Argument Order and the Ellipsis).
Based directly on main (the registry split landed via #2779); a single topic commit.

What this does

Inserts ... between the defining arguments (head) and the optional
modifiers
(tail) of 6 exported centralization functions.
Arguments after ... become keyword-only.

  • Legacy positional or abbreviated calls are recovered by the generated
    ARG_HANDLE block and emit a single lifecycle::deprecate_soft("3.0.0", …)
    behavior is unchanged.
  • No defaults change, no arguments are renamed, deprecated functions untouched.
  • Registry: tools/migrations/centralization.R; blocks regenerated via
    Rscript tools/generate-migrations.R (idempotent, CI-checked).
  • Rd usage/arguments updated mechanically (see note below).

New signatures

function head (positional) keyword-only tail
centr_betw() graph directed, normalized
centr_betw_tmax() graph, nodes directed
centr_clo() graph mode, normalized
centr_clo_tmax() graph, nodes mode
centr_degree() graph mode, loops, normalized
centralize() scores theoretical.max, normalized

Notes for review

  • The environment used to prepare this PR cannot install igraph.r2cdocs
    (GitHub API unreachable), so man/*.Rd files were updated mechanically
    (usage + ... argument item) instead of via devtools::document().
    R CMD check's usage↔formals validation passes; a follow-up
    devtools::document() run may reflow whitespace but should produce no
    semantic diff.
  • Package tests that called these functions positionally were updated to
    named arguments (they are the same soft-deprecation user code will see).

@krlmlr
krlmlr force-pushed the claude/ellipsis-centralization branch from b05379e to de4a440 Compare July 26, 2026 10:48
@krlmlr
krlmlr marked this pull request as ready for review July 26, 2026 15:03
…the ellipsis

Insert `...` between the defining arguments and the optional
modifiers of 6 functions,
following the zoning rules in CONTRIBUTING.md.
Legacy positional and abbreviated calls are recovered
by the generated ARG_HANDLE blocks
(registry: tools/migrations/centralization.R)
and emit a single soft deprecation for igraph 3.0.0.
No defaults change and no arguments are renamed.

Functions: centr_betw, centr_betw_tmax, centr_clo, centr_clo_tmax, centr_degree, centralize

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016M32izVHZPfxAqemAe4BrX
@krlmlr
krlmlr force-pushed the claude/ellipsis-centralization branch from de4a440 to afbba71 Compare July 26, 2026 16:23
@krlmlr
krlmlr merged commit 27eabf6 into main Jul 26, 2026
8 checks passed
@krlmlr
krlmlr deleted the claude/ellipsis-centralization branch July 26, 2026 19:08
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