Je lisais le manuel pour GDB et je suis tombé sur la ligne:
You can use GDB to debug programs written in C, C@t{++}, Fortran and Modula-2.
Le C @ T {++} ressemble à une regex mais je ne peux pas sembler le décoder.
Qu'est-ce que ça veut dire?
GNU déteste les pages de l'homme, de sorte qu'ils écrivent généralement de la documentation dans un autre format et génèrent une page d'homme à partir de celle-ci, sans vraiment se soucier si le résultat est utilisable.
C@t{++}
est une balise Texinfo qui n'a pas été traduite. Il n'était pas destiné à faire partie de la documentation visible par l'utilisateur. Cela devrait simplement dire C++
(éventuellement avec une police spéciale pour le ++
Pour que ça a l'air beau).
La séquence @t{...}
est le balisage Texinfo à composer une séquence à l'aide de la police à largeur fixe (voir la section FONTS du manuel TexInfo pour plus de détails et quelques exemples.)
On dirait qu'ils essayaient d'écrire "C++" et d'avoir "++" utiliser une police de largeur fixe (comme "++
".) Peut-être que quelqu'un a constaté que les rendements permettent de mieux définir des polices spécifiques tout en rendant la documentation dans PostScript ou PDF ou un format qui utilise des polices de largeur variable par défaut.
La raison pour laquelle cela ne semble pas fonctionner et que vous voyez la séquence non traitée est que TexInfo est utilisé par le système de documentation info
, tandis que man
utilise nroff qui est une langue différente avec différents Commandes (par exemple, la commande de passer à une police de largeur constante dans NROff est \f(CW
), donc ce n'est bien sûr pas reconnu le @t{...}
séquence inchangée.
Ce problème semble avoir été introduit dans un commettre d'avril 201 où les pages de l'homme ont été converties en Texinfo et que le balisage spécifique a été introduit. Il semble que le script a maintenant utilisé pour générer les pages de l'homme (texi2man.pl
) ne reconnaît pas ou convertit correctement cette séquence.