Il semble y avoir un bug dans le package listings en cas d'utilisation de linerange conjointement avec certains types de commentaires.

Comment peut-on faire un rapport de bug ?

Description du problème :

Objectif : pour traiter un langage comme PHP, on souhaite

  • définir des commentaires multilignes /* ... */

  • utiliser linerange pour n'imprimer que la partie entre les balises <? et ?>

Problème rencontré : le listing ne s'arrête pas à la balise ?> si un commentaire multilignes est défini et présent dans le code.

NB : le pb existe avec le langage PHP prédéfini par listings, mais j'ai réduit le problème à 2 mini définitions de langages.

\documentclass{article}
\usepackage{listings}
\usepackage{color}
\lstdefinelanguage{mylanguageA}%
{
comment=[l]//,%
}[comments]
\lstdefinelanguage{mylanguageB}%
{
comment=[l]//,%
morecomment=[s]{/*}{*/},%
}[comments]%
\lstset{commentstyle=\color{blue}, frame=single}
\begin{document}
% Language A
% Correctly stops at ?>
% but /* ... */ is not defined as comment
\begin{lstlisting}[
language=mylanguageA,
linerange={<?}-{?>},includerangemarker=false,
]
<?
/*
* bla
*/
function f(){
}
?>
etc
\end{lstlisting}
% Language B
% ERROR : This listing doesn't stop at ?>
\begin{lstlisting}[
language=mylanguageB,
linerange={<?}-{?>},includerangemarker=false,
]
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Posée 13 Nov '23, 11:28

BrB's gravatar image

BrB
213
Taux d'acceptation : 0%

Modifiée 17 Nov '23, 17:03

Bienvenue sur TeXnique.fr !

(13 Nov '23, 16:07) denis ♦♦ denis's gravatar image

Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).

(13 Nov '23, 16:07) denis ♦♦ denis's gravatar image
1

Ça me semble être un bug que vous pouvez signaler au mainteneur du package listings dont le nom et le courriel figurent en première page de la documentation.

(13 Nov '23, 16:13) denis ♦♦ denis's gravatar image

OK merci. Je me demandais s'il y avait un outil de reporting, mais je vais envoyer un mail dans ce cas.

(13 Nov '23, 16:19) BrB BrB's gravatar image

En remplaçant etc par du contenu (utilisant <?, ?> et des commentaire multilignes ou non) dans votre ECM, tout semble se passer comme il faut. Pourriez-vous remplacer etc par un ou des exemples qui ne fonctionnent pas?

(17 Nov '23, 15:21) Paul Gaborit Paul%20Gaborit's gravatar image

Le code fourni ne s'affichait pas correctement dans le message, à cause des <, Je l'ai mis à jour.

(17 Nov '23, 17:06) BrB BrB's gravatar image

Là, c'est plus clair. Merci. Le bug ne semble se manifester que lorsque un commentaire /*...*/ débute juste après la marque <?.

(18 Nov '23, 00:03) Paul Gaborit Paul%20Gaborit's gravatar image
Affichage de 5 parmi 7 Afficher 2 commentaire(s) en plus
Soyez le premier à répondre à cette question !
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.

Mots-clés de la question :

×17
×5
×1

Question posée : 13 Nov '23, 11:28

Question vue : 902 fois

Dernière mise à jour : 18 Nov '23, 00:03