diff: `-y` draws the gutter marker at the wrong column unless the gutter is 3 or 4 columns wide
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 68/100
Piste de recherche
Commencez par suivre Config::separator_pos et process_half_line dans le chemin de sortie côte à côte afin de voir où le marqueur de gouttière est émis et où commence la deuxième colonne. Reproduisez le problème avec diff -y --width=40 et les combinaisons de largeur et de taille de tabulation décrites, puis ajoutez une couverture de régression montrant que le marqueur est centré sur separator_pos pour les gouttières plus larges.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
In side-by-side output, Config::separator_pos holds the middle of the gutter, but the gutter marker is not written there. It goes wherever process_half_line stopped padding the left half line, which is one column past sdiff_half_width. separator_pos is only read afterwards, to pad from the marker to the start of column two.
For a gutter g columns wide, separator_pos is sdiff_half_width + (g - 1) / 2. The two positions agree only when g is 3 or 4. The default --width=130 --tabsize=8 produces a gutter of exactly 3, which is why the default output looks correct, but any width or tab size where the tab alignment pushes column two further past the balance point drifts. --width=130 --tabsize=4 is off by one, --width=200 --tabsize=8 by two, --width=130 --tabsize=128 by 61.
printf 'aa\n' > f1; : > f2
diff -y --width=40 f1 f2 | expand | cat -A
aa <$
diffutils diff -y --width=40 f1 f2 | expand | cat -A
aa <$
- Langage dominant
- Rust
- Étoiles
- 276
- Forks
- 39
- Merge moyen
- 4 j 12 h
- PR mergées (30 j)
- 3
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de uutils/diffutils
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Toutes les issues de uutils/diffutils
Issues similaires
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
yantrikos/yantrik-os#255 ·
-
Replayed reasoning items send "content": null, which the Responses API schema does not permit Ouvertebug CLI custom-model
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
raphamorim/rio#1956 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
rust-bitcoin/rust-bitcoin#6930 · 1 commentaire ·