pr: -n repeats line numbers after a form feed
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Il bug si trova in get_pages in src/uu/pr/src/pr.rs, intorno alle righe 1153-1156: il ramo del salto di pagina (form feed) aggiunge un FileLine senza incrementare line_num, mentre il ramo del a capo lo incrementa vicino alla riga 1183. Riproduci con printf 'a\fb\nc\n' | target/debug/pr -T -n:1 dopo cargo build --locked -p uu_pr. È completato quando l'output è 1:a, 2:b, 3:c, come GNU, e la numerazione di -n resta corretta con e senza a capo finali e con -N10.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
pr -n does not advance the line counter when a form feed ends a line. The next line receives the same number, and later line numbers are too small.
Reproduced on Linux x86_64 (Debian 13), using uutils 0.13.0 from main at 43eb6205c20c551480057cdee98e6e7529cd984d, with LC_ALL=C LANG=C. GNU coreutils 9.12 (the reference package linked in CONTRIBUTING.md) and 9.7 both produce the expected result.
From the repository root:
cargo build --locked -p uu_pr
export LC_ALL=C LANG=C
printf 'a\fb\nc\n' | target/debug/pr -T -n:1
Actual output:
1:a
1:b
2:c
Expected output (GNU 9.12 and 9.7):
1:a
2:b
3:c
Both exit 0 with empty stderr. -T removes pagination, making the numbering difference visible without headers or page separators.
The problem also occurs without a trailing newline and with -N10. With a\fb\fc\n, all three lines receive number 1. As controls, a\nb\nc\n and a\n\fb\nc\n produce 1, 2, 3 in both implementations.
In get_pages, pr.rs:1153–1156, the form-feed branch pushes a FileLine without incrementing line_num. The newline branch increments it at line 1183.
No matching report was found in searches of open and closed issues and related PRs for pr numbering and form feeds. Existing #12313 and #14334 describe column formatting and page padding, rather than repeated line numbers.
- Lingua principale
- Rust
- Stelle
- 24.3k
- Fork
- 2.1k
- Merge medio
- 1g 20h
- PR unite (30g)
- 380
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di uutils/coreutils
-
U - od
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
U - nl
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
U - uniq
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
U - unexpand
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di uutils/coreutils
Issue simili
-
priority: low ☕️ type: bug 🐛
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
area:docs documentation good first issue priority:medium
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
rtk-ai/rtk#4958 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
calagopus/panel#285 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
agent-self
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
yologdev/yoyo-evolve#1117 · 1 commento ·
-
[Bug]: streamed Responses API flex_unavailable error maps to 500 InternalServerError instead of 429Apertallm translation
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 85/100
BerriAI/litellm#49736 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno