EllipsisMiddleTruncate exceeds requested width when only the ellipsis fits
@hugosmoreira y travaille déjà.
Depuis le 26/10/2026.
Évaluation
- Difficulté
- 1/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 88/100
Piste de recherche
Commencez par fire/formatting.py et examinez EllipsisMiddleTruncate, en vous concentrant sur la seconde moitié de longueur nulle et sur la limite où aucune troncature n’est effectuée. Reproduisez les deux exemples de l’issue, puis vérifiez que la sortie ne dépasse pas la largeur demandée et préserve les chaînes qui y tiennent exactement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
EllipsisMiddleTruncate returns more characters than the requested width when available_space is 3. It also modifies strings that already fit exactly within the specified width.
Steps to reproduce
from fire import formatting
print(formatting.EllipsisMiddleTruncate('abcdefghij', 3, 80))
# Actual: '...abcdefghij'
# Expected: '...'
print(formatting.EllipsisMiddleTruncate('abcd', 4, 80))
# Actual: '...d'
# Expected: 'abcd'
Cause
The expression text[-second_half_len:] returns the entire string when second_half_len is zero. The no-truncation check also uses < instead of <=.
Expected behavior
Output should respect the available width, and strings that already fit should remain unchanged.
Verification
Reproduced using the implementation from fire/formatting.py.
- Langage dominant
- Python
- Étoiles
- 28.2k
- Forks
- 1.5k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire 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 google/python-fire
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
google/python-fire#733 ·
-
External pager resets custom SIGINT handlers to SIG_DFLPeut-être pris @hugosmoreira l’a pris il y a 14 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
google/python-fire#723 · 1 commentaire ·
-
Windows ANSI initialization uses nonexistent subprocess.STD_OUTPUT_HANDLEPeut-être pris @Fire162 l’a pris il y a 11 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
google/python-fire#721 · 1 commentaire ·
-
Setup docs still say `python setup.py install`, but `setup.py` was removedPeut-être pris @GreedyC l’a pris il y a 18 jours. Ouverte
Difficulté 1/5 1-3 heures Accessibilité débutants 93/100
google/python-fire#718 · 1 commentaire ·
-
Calling an async command from an active event loop raises RuntimeError and leaves an unawaited coroutinePeut-être pris @aashish254 l’a pris il y a 20 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
google/python-fire#716 ·
Toutes les issues de google/python-fire
Issues similaires
-
`destroy` sans terminal répond « Aborted. » au lieu de réclamer `--yes` comme `clean` et `reset`Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
stephrobert/dsoxlab#354 ·
Les mainteneurs répondent en général sous 1 jour
-
hardware help wanted testing
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
jasonacox/pypowerwall#472 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: DoubleMLRDDData accepts a score_col that is no data column (as in its docstring example); the running variable then becomes a covariate and RDFlex failsPeut-être pris @vrjdev l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
DoubleML/doubleml-for-py#455 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Python mod.Box[T] annotation gets a false generic_arg edge that replaces the parameter_type one ('is' on tree-sitter nodes)Peut-être pris @rohit-jsfreaky l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Graphify-Labs/graphify#5110 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours