Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

diff: `-y` draws the gutter marker at the wrong column unless the gutter is 3 or 4 columns wide

Ouverte
#269 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
rust
Domaine
cli

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de uutils/diffutils

Toutes les issues de uutils/diffutils

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.