Niouzes.org  

Précédent   Niouzes.org > Forum > Newsgroup fr.comp.divers.* Forum > Newsgroup fr.fr.comp.applications.emacs
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus



Réponse

 

LinkBack Outils de la discussion Modes d'affichage
  #1 (permalink)  
Vieux 03/06/2007, 10h11
Ph. Ivaldi
 
Messages: n/a
Par défaut Compilations successives

Bonjour,

Je voudrais décomposer la compilation successive effectuée par une seule
commande bash en plusieurs compilations élémentaires.
Par exemple:
je voudrais remplacer la commande
latex toto.tex && { if [[ -f toto.asy ]]; then asy toto.asy &&\
latex toto.tex >/dev/null ; else true; fi;} &&\
dvips toto.dvi -o toto.ps && gv toto.ps

en la suite de commandes
latex toto.tex
asy toto.asy
latex toto.tex >/dev/null
dvips toto.dvi -o toto.ps
gv toto.ps

avec les tests qui conviennent en Elisp, tout ça en gardant la gestion
des erreurs fournie par la fonction '(compile)'.
Le but est de faire un enchaînement de commandes indépendant du shell et
fonctionnant aussi sous Windows; une sorte de 'makefile' en Elisp.

La solution consistant à faire un 'makefile' et un .bash ne me semble
pas viable puisque, par exemple, la commande 'gv' est paramétrable par
l'utilisateur.

Avant de me lancer dans un fork de (compile) je voudrais savoir s'il
existe déjà une solution simple.
--
Merci de votre aide,
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Réponse avec citation
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Niouzes.org
Standard Sponsored Links

  #2 (permalink)  
Vieux 04/06/2007, 09h33
Ph. Ivaldi
 
Messages: n/a
Par défaut Re: Compilations successives

> Je voudrais décomposer la compilation successive effectuée par une
> seule commande bash en plusieurs compilations élémentaires.


Voici une version simplifiée de ce que j'ai pondu:

8<------8<------8<------8<------8<------8<------8<------8<------8<------
(defun asy-compilation-wait(&optional auto-close)
(let* ((buff (get-buffer "*asy-compilation*"))
(comp-proc (get-buffer-process buff)))
(while (and comp-proc (not (eq (process-status comp-proc) 'exit)))
(setq comp-proc (get-buffer-process buff))
(sit-for 1))
(if comp-proc
(setq asy-last-compilation-code (process-exit-status comp-proc))
(setq asy-last-compilation-code 0))))

(defun asy-internal-compile (command &optional auto-close)
(setq asy-last-compilation-code -1)
(let ((compilation-buffer-name-function
(lambda (mj) "*asy-compilation*")))
(compile command))
(asy-compilation-wait auto-close))
8<------8<------8<------8<------8<------8<------8<------8<------8<------

Ça s'utilise comme ça:

8<------8<------8<------8<------8<------8<------8<------8<------8<------
(asy-internal-compile (concat "latex -interaction=nonstopmode " b-b-n ".tex"))
(when (and (zerop asy-last-compilation-code) (file-readable-p (concat b-b-n ".asy")))
(asy-internal-compile (concat asy-command-location lasy-command " " b-b-n ".asy" dirstderr))
(when (zerop asy-last-compilation-code)
(asy-internal-compile (concat "latex -interaction=nonstopmode " b-b-n ".tex"))))
(when (zerop asy-last-compilation-code)
(asy-internal-compile (concat "dvips " b-b-n ".dvi -o " b-b-n ".ps") t)
(when (zerop asy-last-compilation-code)
(start-process "" nil ps-view-command (concat b-b-n ".ps"))))
8<------8<------8<------8<------8<------8<------8<------8<------8<------

Y-a-t-il mieux que

8<------8<------8<------8<------8<------8<------8<------8<------8<------
(while (and comp-proc (not (eq (process-status comp-proc) 'exit)))
(setq comp-proc (get-buffer-process buff))
(sit-for 1))
8<------8<------8<------8<------8<------8<------8<------8<------8<------

pour attendre qu'un processus se termine et récupérer le code de
sortie ?
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Réponse avec citation
  #3 (permalink)  
Vieux 04/06/2007, 09h33
Ph. Ivaldi
 
Messages: n/a
Par défaut Re: Compilations successives

> Je voudrais décomposer la compilation successive effectuée par une
> seule commande bash en plusieurs compilations élémentaires.


Voici une version simplifiée de ce que j'ai pondu:

8<------8<------8<------8<------8<------8<------8<------8<------8<------
(defun asy-compilation-wait(&optional auto-close)
(let* ((buff (get-buffer "*asy-compilation*"))
(comp-proc (get-buffer-process buff)))
(while (and comp-proc (not (eq (process-status comp-proc) 'exit)))
(setq comp-proc (get-buffer-process buff))
(sit-for 1))
(if comp-proc
(setq asy-last-compilation-code (process-exit-status comp-proc))
(setq asy-last-compilation-code 0))))

(defun asy-internal-compile (command &optional auto-close)
(setq asy-last-compilation-code -1)
(let ((compilation-buffer-name-function
(lambda (mj) "*asy-compilation*")))
(compile command))
(asy-compilation-wait auto-close))
8<------8<------8<------8<------8<------8<------8<------8<------8<------

Ça s'utilise comme ça:

8<------8<------8<------8<------8<------8<------8<------8<------8<------
(asy-internal-compile (concat "latex -interaction=nonstopmode " b-b-n ".tex"))
(when (and (zerop asy-last-compilation-code) (file-readable-p (concat b-b-n ".asy")))
(asy-internal-compile (concat asy-command-location lasy-command " " b-b-n ".asy" dirstderr))
(when (zerop asy-last-compilation-code)
(asy-internal-compile (concat "latex -interaction=nonstopmode " b-b-n ".tex"))))
(when (zerop asy-last-compilation-code)
(asy-internal-compile (concat "dvips " b-b-n ".dvi -o " b-b-n ".ps") t)
(when (zerop asy-last-compilation-code)
(start-process "" nil ps-view-command (concat b-b-n ".ps"))))
8<------8<------8<------8<------8<------8<------8<------8<------8<------

Y-a-t-il mieux que

8<------8<------8<------8<------8<------8<------8<------8<------8<------
(while (and comp-proc (not (eq (process-status comp-proc) 'exit)))
(setq comp-proc (get-buffer-process buff))
(sit-for 1))
8<------8<------8<------8<------8<------8<------8<------8<------8<------

pour attendre qu'un processus se termine et récupérer le code de
sortie ?
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Réponse avec citation
  #4 (permalink)  
Vieux 04/06/2007, 12h09
Olivier
 
Messages: n/a
Par défaut Re: Compilations successives

Ph. Ivaldi wrote:

> Y-a-t-il mieux que
>
> 8<------8<------8<------8<------8<------8<------8<------8<------8<------
> (while (and comp-proc (not (eq (process-status comp-proc) 'exit)))
> (setq comp-proc (get-buffer-process buff))
> (sit-for 1))
> 8<------8<------8<------8<------8<------8<------8<------8<------8<------
>
> pour attendre qu'un processus se termine et récupérer le code de
> sortie ?


C'est l'utilisation standard de (sit-for 1).
A.O.
Réponse avec citation
  #5 (permalink)  
Vieux 04/06/2007, 12h09
Olivier
 
Messages: n/a
Par défaut Re: Compilations successives

Ph. Ivaldi wrote:

> Y-a-t-il mieux que
>
> 8<------8<------8<------8<------8<------8<------8<------8<------8<------
> (while (and comp-proc (not (eq (process-status comp-proc) 'exit)))
> (setq comp-proc (get-buffer-process buff))
> (sit-for 1))
> 8<------8<------8<------8<------8<------8<------8<------8<------8<------
>
> pour attendre qu'un processus se termine et récupérer le code de
> sortie ?


C'est l'utilisation standard de (sit-for 1).
A.O.
Réponse avec citation
  #6 (permalink)  
Vieux 04/06/2007, 12h34
Matthieu Moy
 
Messages: n/a
Par défaut Re: Compilations successives

Ph. Ivaldi <piv_pasde***pub_tele2.fr> writes:

> Avant de me lancer dans un fork de (compile) je voudrais savoir s'il
> existe déjà une solution simple.


rubber ?

--
Matthieu
Réponse avec citation
  #7 (permalink)  
Vieux 04/06/2007, 12h34
Matthieu Moy
 
Messages: n/a
Par défaut Re: Compilations successives

Ph. Ivaldi <piv_pasde***pub_tele2.fr> writes:

> Avant de me lancer dans un fork de (compile) je voudrais savoir s'il
> existe déjà une solution simple.


rubber ?

--
Matthieu
Réponse avec citation
  #8 (permalink)  
Vieux 05/06/2007, 08h56
Ph. Ivaldi
 
Messages: n/a
Par défaut Re: Compilations successives

Le 04 juin 2007, Olivier écrivit :

>> Y-a-t-il mieux que
>> (while (and comp-proc (not (eq (process-status comp-proc) 'exit)))
>> (setq comp-proc (get-buffer-process buff))
>> (sit-for 1))
>> pour attendre qu'un processus se termine et récupérer le code de
>> sortie ?

>
> C'est l'utilisation standard de (sit-for 1).


Ça me rassure, je n'étais pas sûr de moi.
Merci.
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Réponse avec citation
  #9 (permalink)  
Vieux 05/06/2007, 08h56
Ph. Ivaldi
 
Messages: n/a
Par défaut Re: Compilations successives

Le 04 juin 2007, Olivier écrivit :

>> Y-a-t-il mieux que
>> (while (and comp-proc (not (eq (process-status comp-proc) 'exit)))
>> (setq comp-proc (get-buffer-process buff))
>> (sit-for 1))
>> pour attendre qu'un processus se termine et récupérer le code de
>> sortie ?

>
> C'est l'utilisation standard de (sit-for 1).


Ça me rassure, je n'étais pas sûr de moi.
Merci.
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Réponse avec citation
 
Réponse
Tags: ,



Outils de la discussion
Modes d'affichage

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires

Discussion Auteur Forum Réponses Dernier message
Re: Sur le nombre de compilations nécessaires Jean Magnan de Bornier Newsgroup fr.comp.text.tex 5 15/05/2008 16h10
procedures compilations christophe Newsgroup microsoft.public.fr.sqlserver 1 16/11/2007 08h43
Re: PB classement compilations/best-of Le Claude Newsgroup microsoft.public.fr.windowsmedia 0 28/12/2006 20h53


Fuseau horaire GMT. Il est actuellement 10h03.

Italiano - German - English - Español


Édité par : vBulletin® version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc. Tous droits réservés.
Version française #13 par l'association vBulletin francophone


Politique - Droit - Philosophie - Football - Medicine - Française - Bricolage - Photo - Mac Os X - Divers - Physique - Jardinage
Mecanique - Moto - Photographie - Rail - Route - Aviation - Cinema - Linux - Psychanalyse - Finance - Enigmes - Rugby
Environnement - Histoire - Programmes TV - Education - Travail - Voyages - Windows - Immobilier - Cuisine
Windows XP - Excel - Word - Outlook - Access - Internet Explorer - Office - Vista

Page generated in 0,46022 seconds with 11 queries