2003-11-25

Debug Mozilla

Sur le système de fiches de bugs de Mozilla, j'interviens de temps en temps. Je vote pour certaines, j'en soumets, je donne des avis. Quand une évolution survient sur une des fiches qui m'intéressent, je suis prévenu par mail. C'est bien pratique pour en savoir où en est le bug.

J'ai par exemple voté pour le bug du tiret de césure des mots, « soft hyphen » en anglais, aussi connu sous le nom de l'entité « ­ ». Ce bug a été ouvert en 1999, et aucune correction n'a été encore apportée. Hier, un nouveau commentaire est apparu qui m'a fait changer mon approche du développement de Mozilla :

------- Additional Comments From MozillaUser@HamsterRepublic.com 2003-11-23 22:07 ------- Unfortunately this bug cannot be chaged from NEW to ASSIGNED right now, nor can a target milestone be set, because no developer is available to fix it. I am adding the "helpwanted" keyword. Hopefully someone with the knowledge and skill to implement this will volunteer someday soon.

Voilà, il n'y a personne parmi les développeurs pour corriger ce bug. Apparemment il y a un manque de codeurs chez Mozilla. On peut attendre encore longtemps. Si on veut que ça change, il faut des bonnes âmes pour mettre les mains dans le cambouis. J'ai donc extrapolé ces idées concernant une autre fiche de bug, que j'avais soumise début septembre. Ce bug concerne les espaces insécables.

Illustration de l'effet de l'espace insécableRésumé du bug : quand on envoie des espaces insécables dans un champs texte de formulaire, Mozilla les transforme en espaces sécables. C'est plutôt génant quand on veut poster des commentaires sur un site, un forum, ou alors quand on écrit des billets sur son blog à l'aide d'un formulaire. Les espaces insécables permettent d'éviter des désagréments comme un point d'exclamation ou un guillemet tout seul sur une ligne.

Et voilà, je l'ai donc fait, j'ai téléchargé les sources de Mozilla Firebird 0.7 pour mettre mon nez dedans et tenter de trouver ce bug, me disant que peu de gens aura la motivation de s'y mettre. Et je n'ai pas envie d'attendre des années comme pour le bug du ­.

La compilation fut laborieuse. J'aime bien d'habitude les projets où on télécharge un projet compatible avec Visual C++ : hop, un drag-and-drop du fichier projet, on appuie sur la touche F7, on attend la compilation et voilà, on a un exécutable. Bah pour Mozilla, c'est loin d'être aussi simple. J'ai écrit un petit fichier de logs relatant mon avancée dans la compilation. C'est plein de mauvaise foi, d'énervement et il n'y a pas de mise en forme (voire des fautes d'orthographe) mais ça peut être intéressant pour certains :)

Après quelques séances de débuggage, youpi ! Je trouve le bug. Mais je découvre aussi avec frayeur que le remplacement des espaces insécables par des espaces sécables est un comportement voulu par les développeurs de Mozilla ! De ce fait, je ne me retrouve pas dans une situation 100% technique, mais une situation un peu politique : ce comportement de Mozilla est-il bon ou mauvais ? Pour ma part je pense que c'est mauvais, et j'espère que les développeurs seront de mon avis. De plus quand on prend d'autre navigateurs (j'ai essayé Internet Explorer et Opera), ce comportement est inexistant.

Bon il y a aussi un autre truc, maintenant que l'on sait quel bout de code est responsable de ce comportement, y aura-t-il un développeur de Mozilla qui pensera à regarder la fiche ? J'ai certes mis les mains dans le cambouis, mais je ne suis pas un développeur officiel, j'ai juste fait ça comme ça ; je n'ai pas accès aux fichiers de référence du projet.

Vous pouvez lire la fiche de bug pour davantage de détails. Si vous avez un peu de temps et que vous êtes d'accord avec moi, je vous serais reconnaissant si vous votiez pour ce bug ! ;)