Accents dans le chemin vers le fichier .tex (Bug #482)


Added by Loïc Cerf almost 7 years ago. Updated over 6 years ago.


Status:Closed Start date:05/22/2017
Priority:Normal Due date:
Assignee:- % Done:

100%

Category:Graphical Interface
Target version:-

Description

Bonjour,

J'utilise Trisquel 7, basée sur Ubuntu 14.04. La version 1.3.0+hg2017-05-10-1~trusty1 d'AMC, dans ppa:alexis.bienvenue/test, pose problème à l'heure de créer un nouveau projet avec un fichier source LaTeX dont le chemin inclut des caractères accentués.

Par exemple, le sélectionneur de fichiers me laisse choisir "/home/banana/Travail/cours/Cálculo Numérico/provas/prova 3/prova3.tex" mais, après "Appliquer" ce choix, l'interface graphique d'AMC écrit ce chemin comme étant "/home/banana/Travail/cours/Cálculo Numérico/provas/prova 3/prova3.tex" et gèle (le "sablier" ne disparaît jamais), obligeant à la fermeture de la fenêtre. Le répertoire du projet est créé. Il contient néanmoins un fichier options.xml (en pièce jointe) avec le même problème d'encodage de caractères dans la balise "textsrc" :

<texsrc>%HOME/Travail/cours/Cálculo Numérico/provas/prova 3/prova3.tex</texsrc>

En lançant, 'auto-multiple-choice' depuis un émulateur de terminal, voilà ce qu'il affiche :

$ auto-multiple-choice 
*** unhandled exception in callback:
***   undefined value for mandatory argument 'sensitive' encountered at /usr/lib/AMC/perl/AMC-gui.pl line 4269.
***  ignoring at /usr/share/perl5/Gtk3.pm line 321.

La version 1.3.0-1~trusty1 d'AMC, dans ppa:alexis.bienvenue/amc, ne pose pas de problème et rien ne s'affiche dans l'émulateur de terminal.


AMC-DEBUG-jl5Isj95.log (2.7 kB) Loïc Cerf, 09/07/2017 04:02 pm


History

Updated by Loïc Cerf over 6 years ago

Le problème est toujours présent dans la version de test d'AMC. En fait, il semblerait qu'il n'ait rien à voir avec la présence de caractères spéciaux dans le chemin vers le fichier LaTeX : même avec un chemin purement ASCII, le problème demeure. Aussi, AMC n'est pas vraiment "gelé". Je le croyais car le bouton "Mettre à jour les documents" ne fonctionnait pas. Dans le terminal ce message est affiché lorsque je clique dessus :

*** unhandled exception in callback:
***   Can't call method "n_pages_transaction" on an undefined value at /usr/lib/AMC/perl/AMC-gui.pl line 1867.
***  ignoring at /usr/share/perl5/Gtk3.pm line 321.

La même ligne de /usr/share/perl5/Gtk3.pm soulève donc le problème. Peut-être est-ce dû à l'ancienneté relative de Trisquel 7 qui est basée sur Ubuntu 14.04, des distributions qui sont néanmoins sont toujours supportées. Si c'est le cas, les numéros de version des dépendances que le paquet spécifie ("libgtk3-perl" est en version 0.015-2 sur Ubuntu 14.04 et dérivées) devraient alors être plus grandes et une versions plus ancienne d'AMC devrait être proposée dans la section "trusty" du PPA.

Updated by Loïc Cerf over 6 years ago

Aussi, le chemin vers le fichier affiché dans l'onglet "Préparation" d'AMC est celui choisi à la création du projet (avec "fichier") et non le chemin passant par le répertoire "projet" d'AMC (comme dans la version 1.3.0-1).

Updated by Alexis Bienvenüe over 6 years ago

Pouvez-vous essayer en mode débogage (depuis le menu Aide) et joindre le fichier log créé ?

Aussi, le chemin vers le fichier affiché dans l'onglet "Préparation" d'AMC est celui choisi à la création du projet (avec "fichier") et non le chemin passant par le répertoire "projet" d'AMC

Je ne suis pas certain d'avoir compris : pouvez-vous me donner un exemple ?

Updated by Loïc Cerf over 6 years ago

Oui. Si j’exécute 'auto-multiple-choice' version 1.3.0+hg2017-08-09-1~trusty1 dans un émulateur de terminal, crée un nouveau projet (par exemple avec Ctrl+N), lui donne un nom quelconque (j’ai choisi « test ») puis choisis « Fichier » pour ensuite sélectionner le fichier source LaTeX (par exemple l’« exemple simple » de source LaTeX sur http://auto-multiple-choice.net/auto-multiple-choice.fr/latex.shtml#latex.simple en retirant les numéros encerclés), alors, au moment de cliquer sur le bouton « Appliquer » pour sélectionner le fichier apparaît dans le terminal :

*** unhandled exception in callback:
***   undefined value for mandatory argument 'sensitive' encountered at /usr/lib/AMC/perl/AMC-gui.pl line 4269.
***  ignoring at /usr/share/perl5/Gtk3.pm line 321.

Le curseur dans l’interface graphique devient un sablier (enfin une roue avec les points qui tournent). Il ne redevient jamais un pointeur. Le chemin vers le fichier source que l’interface graphique affiche, après le « i » bleu, est le chemin que j’ai choisi. Si, j’essaie de cliquer sur le bouton « Mettre à jour les documents », rien ne se passe si ce n’est que le terminal affiche une nouvelle erreur :
*** unhandled exception in callback:
***   Can't call method "n_pages_transaction" on an undefined value at /usr/lib/AMC/perl/AMC-gui.pl line 1867.
***  ignoring at /usr/share/perl5/Gtk3.pm line 321.

Même chose si j’essaie de « Calculer les mises en page » :
No src file /home/banana/Travail/cours/Projets-QCM/test/DOC-calage.xy at /usr/lib/AMC/perl/AMC-meptex.pl line 45.
*** unhandled exception in callback:
***   Can't call method "begin_read_transaction" on an undefined value at /usr/lib/AMC/perl/AMC-gui.pl line 4326.
***  ignoring at /usr/share/perl5/Gtk3.pm line 321.

La ligne 321 de /usr/share/perl5/Gtk3.pm est la définition entière de la fonction Gtk3::main :

sub Gtk3::main {
  # Ignore any arguments passed in.
  Glib::Object::Introspection->invoke ($_GTK_BASENAME, undef, 'main');
}

Avec AMC version 1.3.0-1~trusty1, la même séquence d’actions ne crée aucun problème. En particulier aucun message d’erreur dans le terminal. Au clic sur le bouton « Appliquer » pour sélectionner le « Fichier », cette version d’AMC affiche une fenêtre modale qui informe que « Le fichier source a été copié dans le répertoire projet », contrairement à la version 1.3.0+hg2017-08-09-1~trusty1. Et c’est effectivement le chemin vers le fichier source dans le répertoire projet qui est affiché après le « i » bleu.

Updated by Loïc Cerf over 6 years ago

De nouveau, le problème me paraît suffisamment important pour être résolu : ceux qui utilisent Ubuntu 14.04 Trusty Tahr (toujours supportée) ou une distribution dérivée (comme Trisquel 7) et choisissent le PPA de test installent un AMC inutilisable. Néanmoins, j’imagine que peu de gens utilisent encore cette version d’Ubuntu, que vous avez testé avec succès le fonctionnement d’AMC sur les versions plus récentes (comme Ubuntu 16.04) et que, par conséquent, le problème vient des versions des dépendances, trop anciennes. Du coup, il ne vaut peut-être pas la peine de passer du temps à réellement corriger le problème. La section « trusty » du PPA de test pourrait simplement proposer AMC version 1.3.0-1~trusty1. Qu’en pensez-vous ?

Updated by Alexis Bienvenüe over 6 years ago

Pouvez-vous joindre le fichier log complet avec la version 1.3.0+hg2017-08-09-1~trusty1 ?

La section « trusty » du PPA de test pourrait simplement proposer AMC version 1.3.0-1~trusty1. Qu’en pensez-vous ?

Oui c'est une « solution » raisonnable. À ce moment-là il suffirait d'effacer la version trusty du PPA test : la version 1.3.0-1~trusty1 est sur le PPA amc.

Updated by Loïc Cerf over 6 years ago

Le voilà en pièce jointe. J’ai simplement créé un nouveau projet "test" en choisissant le « fichier » "/home/banana/Travail/cours/Cálculo Numérico/provas/prova 1/prova1.tex". Les trois lignes d’erreur à la fin du fichier sont écrites au clic sur le bouton « Appliquer » pour sélectionner le fichier.

Updated by Loïc Cerf over 6 years ago

Je me permets de vous rappeler que le PPA de test propose toujours une interface graphique inutilisable pour Ubuntu 14.04 Trusty Tahr.

Updated by Alexis Bienvenüe over 6 years ago

Je viens de l'enlever. On peut trouver la version 1.3.0-1~trusty1 dans le PPA standard AMC : https://launchpad.net/~alexis.bienvenue/+archive/ubuntu/amc/+packages.

Updated by Loïc Cerf over 6 years ago

Merci ! :-)

Updated by Alexis Bienvenüe over 6 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF