Skip to content

docs(const,vendor): FEATCode's docstring cites RFC 5797 "#secion-3", a typo that renders a wrong anchor #942

Description

@JarryShaw

Describe the bug

FEATCode's class docstring cites :rfc:5797#secion-3`` — secion, missing the `t`. Sphinx's `:rfc:` role does not validate the fragment, so it renders a live link to a wrong anchor and no build warns: nitpicky mode only checks `py:` targets.

It is in two places because one generates the other:

  • pcapkit/vendor/ftp/command.py:68 — inside the LINE f-string template at :40, i.e. the source of truth
  • pcapkit/const/ftp/command.py:28 — the generated copy

Reproduction

$ grep -n "secion-3" pcapkit/const/ftp/command.py pcapkit/vendor/ftp/command.py
pcapkit/const/ftp/command.py:28:    c.f., :rfc:`5797#secion-3`.
pcapkit/vendor/ftp/command.py:68:    c.f., :rfc:`5797#secion-3`.

Expected behavior

:rfc:5797#section-3``. Observed anchor #secion-3 (does not exist), expected `#section-3`.

Notes

  • Found while cross-reviewing docs(conventions,const): resolve part B's unresolved cross-references (#934) #941, which added FEATCode to docs/source/pcapkit/const/ftp.rst — so this docstring is now rendered on a published API page, which is why it is worth fixing rather than leaving.
  • This is the third pre-existing FEATCode docstring defect; docs(conventions,const): resolve part B's unresolved cross-references (#934) #941's body records the other two.
  • §3 is the right section (Initial Contents of Registry, where the keywords are listed). Deliberately leave get()'s :rfc:5797#section-2`` alone — it quotes §2.2's Registry Format wording verbatim and is correct as it stands.
  • Do not regenerate to fix this. Regenerating means a live IANA crawl; the line is a literal in the template, so editing both files identically is exactly what regeneration would produce.

System information

  • pcapkit commit: 1bd576ec1, Python 3.14.7, CPython, Linux.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIssues reporting a defect (set by the bug report template; a default, not an assessment)constRegenerated IANA or vendor constant tables; members keep their numeric valuesdocsPull requests that change documentation only (docs: subject prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions