(defun meta-compile-sentinel (proc sign)
(let ((source-buf (find-buffer-visiting (buffer-file-name)))
(msg (format "Process %s had the event \'%s\n" proc sign)))
;; on veut une sortie à exploiter
;; (message "mpost %d status" (process-exit-status proc))
;; on teste si une erreur
(when (eq (process-status proc) 'signal)
(switch-to-buffer (process-buffer proc))
(goto-char (point-min))
;;(message "mpost %d status" (process-exit-status proc))
;; recherche de la ligne d'erreur
(when (re-search-forward "l\.\\([0-9]+\\)" nil t 1)
(let ((line-error (string-to-int (match-string 1))))
(switch-to-buffer source-buf)
;;(set-buffer source-buf)
(goto-line line-error)
(message "processus statut %s: " (process-status proc))
)))
;; si le process est exited !
(when (eq (process-status proc) 'exit)
;;si pas d'erreur
;;(switch-to-buffer source-buf)
(set-buffer source-buf)
(mv)
)
(with-current-buffer (process-buffer proc)
(insert msg))
(process-kill-without-query proc)))
;; compile a metapost file and create a buffer where you
;; see the result of your compilation.
;; If a error occur the cursor go to the line of the error.
(defun meta-compile (file)
"Compile a MetaPost file with extension *.mp"
(flet ((erase-old-works ()
;;kill old work
(when (get-process "mpost")
(delete-process (get-process "mpost")))
(when (get-process "meta2ps")
(delete-process (get-process "meta2ps")))
))
(erase-old-works)
(let ((command nil)
(proc-buf nil)
(process nil)
(sentinel nil)
(args "-interaction errorstopmode "))
;; do the new jobs
(unless command
(setq command (concat "/usr/bin/mpost ")))
(unless proc-buf
(setq proc-buf (get-buffer-create "*MetaPost*")))
(unless sentinel
(setq sentinel 'meta-compile-sentinel))
(with-current-buffer proc-buf
(erase-buffer))
(setq process
(start-process-shell-command "mpost" proc-buf command args file))
(set-process-coding-system process 'iso-latin-1-unix 'utf-8)
(set-process-sentinel process sentinel)
(accept-process-output process)
(switch-to-buffer-other-window proc-buf)
;; associate the sentinel to his process
(other-window -1)
(process-kill-without-query process))))
ce code me permet de compiler du code metapost sans quitter emacs. je
récupère les erreurs les corriges et recompile. S'il n'y a pas d'erreurs
je visualise le résultat grace à gv (je suis sous Linux fedora 3).
Ce code fonctionne a peu pret bien à ceci prêt que lorsqu'il y a une
erreur le curseur ne va pas à la ligne ou se trouve l"erreur (celle ci
est pourtant bien signalée par mpost) il faut relancer la compilation et
là je pointe directement sur la bonne ligne.
Il semble que le buffer *MetPost* associé au processus qui lance mpost.
Une idée pour corriger ce qui ne va pas ?
merci à toutes les bonnes volontés et au passage bonnes fêtes !!!
ne soit rempli qu'après la fin du processus.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
drkm
"@(none)" <""guy"@(none)"> writes:
voici du code elisp :
Je n'ai pas vraiment le temps de répondre à ta question, ni sans doute les connaissances. Je me demande néanmoins pourquoi tu cherches après l'erreur sur l'événement « signal », et non « exit ». À priori, j'aurais plutôt cherché sur un « exit », mais je ne connais pas ces outils.
Je me permets cependant quelques remarques générales sur le code. Je n'ai pas vraiment le temps de développer. Je donne donc le code comme cela, pose des questions si des points restent obscures.
(defun meta-compile-sentinel (proc sign) (let ((source-buf (find-buffer-visiting (buffer-file-name))) (msg (format "Process %s had the event '%sn" proc sign))) ;; on veut une sortie à exploiter ;; (message "mpost %d status" (process-exit-status proc)) ;; on teste si une erreur (when (eq (process-status proc) 'signal) (switch-to-buffer (process-buffer proc)) (goto-char (point-min)) ;;(message "mpost %d status" (process-exit-status proc)) ;; recherche de la ligne d'erreur (when (re-search-forward "l.([0-9]+)" nil t 1) (let ((line-error (string-to-int (match-string 1)))) (switch-to-buffer source-buf) ;;(set-buffer source-buf) (goto-line line-error) (message "processus statut %s: " (process-status proc)) ))) ;; si le process est exited ! (when (eq (process-status proc) 'exit) ;;si pas d'erreur ;;(switch-to-buffer source-buf) (set-buffer source-buf) (mv) ) (with-current-buffer (process-buffer proc) (insert msg)) (process-kill-without-query proc)))
Utilisation de `case' plutôt que de deux `when'. Test que le buffer est toujours existant ; la doc précise qu'une sentinelle doit le tester. Suppresion du `let', qui ne sert à rien.
À ce propos ... J'utilise ici `gensym', afin d'éviter les collisions. Comme je donne un préfixe privé au module (contenant « :: »), il n'y a pas grand risque. Néanmoins, il me semble qu'il existe une technique plus robuste. Quelqu'un s'en souvient-il ?
;; compile a metapost file and create a buffer where you ;; see the result of your compilation. ;; If a error occur the cursor go to the line of the error. (defun meta-compile (file) "Compile a MetaPost file with extension *.mp" (flet ((erase-old-works () ;;kill old work (when (get-process "mpost") (delete-process (get-process "mpost"))) (when (get-process "meta2ps") (delete-process (get-process "meta2ps"))) )) (erase-old-works) (let ((command nil) (proc-buf nil) (process nil) (sentinel nil) (args "-interaction errorstopmode ")) ;; do the new jobs (unless command (setq command (concat "/usr/bin/mpost "))) (unless proc-buf (setq proc-buf (get-buffer-create "*MetaPost*"))) (unless sentinel (setq sentinel 'meta-compile-sentinel)) (with-current-buffer proc-buf (erase-buffer)) (setq process (start-process-shell-command "mpost" proc-buf command args file))
(set-process-coding-system process 'iso-latin-1-unix 'utf-8) (set-process-sentinel process sentinel) (accept-process-output process) (switch-to-buffer-other-window proc-buf) ;; associate the sentinel to his process (other-window -1) (process-kill-without-query process))))
Suppression du `flet', que je n'imagine pas nécessaire, pour ne pas dire néfaste. Initialisation des variables dans le `let' (plutôt qu'initialisation à nil, puis utilisation superflue de `unless'). Supression de `sentinel', qui ne sert à rien, de même que `command' et `args'.
Je n'ai néanmoins pas le code de `drkm-el:mapcar' ici, et il n'est toujours pas sur mon site. Disons qu'il est laissé en exercice au lecteur ;-).
--drkm
"@(none)" <""guy"@(none)"> writes:
voici du code elisp :
Je n'ai pas vraiment le temps de répondre à ta question, ni sans
doute les connaissances. Je me demande néanmoins pourquoi tu cherches
après l'erreur sur l'événement « signal », et non « exit ». À priori,
j'aurais plutôt cherché sur un « exit », mais je ne connais pas ces
outils.
Je me permets cependant quelques remarques générales sur le code.
Je n'ai pas vraiment le temps de développer. Je donne donc le code
comme cela, pose des questions si des points restent obscures.
(defun meta-compile-sentinel (proc sign)
(let ((source-buf (find-buffer-visiting (buffer-file-name)))
(msg (format "Process %s had the event '%sn" proc sign)))
;; on veut une sortie à exploiter
;; (message "mpost %d status" (process-exit-status proc))
;; on teste si une erreur
(when (eq (process-status proc) 'signal)
(switch-to-buffer (process-buffer proc))
(goto-char (point-min))
;;(message "mpost %d status" (process-exit-status proc))
;; recherche de la ligne d'erreur
(when (re-search-forward "l.\([0-9]+\)" nil t 1)
(let ((line-error (string-to-int (match-string 1))))
(switch-to-buffer source-buf)
;;(set-buffer source-buf)
(goto-line line-error)
(message "processus statut %s: " (process-status proc))
)))
;; si le process est exited !
(when (eq (process-status proc) 'exit)
;;si pas d'erreur
;;(switch-to-buffer source-buf)
(set-buffer source-buf)
(mv)
)
(with-current-buffer (process-buffer proc)
(insert msg))
(process-kill-without-query proc)))
Utilisation de `case' plutôt que de deux `when'. Test que le buffer
est toujours existant ; la doc précise qu'une sentinelle doit le
tester. Suppresion du `let', qui ne sert à rien.
À ce propos ... J'utilise ici `gensym', afin d'éviter les
collisions. Comme je donne un préfixe privé au module (contenant
« :: »), il n'y a pas grand risque. Néanmoins, il me semble qu'il
existe une technique plus robuste. Quelqu'un s'en souvient-il ?
;; compile a metapost file and create a buffer where you
;; see the result of your compilation.
;; If a error occur the cursor go to the line of the error.
(defun meta-compile (file)
"Compile a MetaPost file with extension *.mp"
(flet ((erase-old-works ()
;;kill old work
(when (get-process "mpost")
(delete-process (get-process "mpost")))
(when (get-process "meta2ps")
(delete-process (get-process "meta2ps")))
))
(erase-old-works)
(let ((command nil)
(proc-buf nil)
(process nil)
(sentinel nil)
(args "-interaction errorstopmode "))
;; do the new jobs
(unless command
(setq command (concat "/usr/bin/mpost ")))
(unless proc-buf
(setq proc-buf (get-buffer-create "*MetaPost*")))
(unless sentinel
(setq sentinel 'meta-compile-sentinel))
(with-current-buffer proc-buf
(erase-buffer))
(setq process
(start-process-shell-command "mpost" proc-buf command args file))
(set-process-coding-system process 'iso-latin-1-unix 'utf-8)
(set-process-sentinel process sentinel)
(accept-process-output process)
(switch-to-buffer-other-window proc-buf)
;; associate the sentinel to his process
(other-window -1)
(process-kill-without-query process))))
Suppression du `flet', que je n'imagine pas nécessaire, pour ne pas
dire néfaste. Initialisation des variables dans le `let' (plutôt
qu'initialisation à nil, puis utilisation superflue de `unless').
Supression de `sentinel', qui ne sert à rien, de même que `command' et
`args'.
Je n'ai pas vraiment le temps de répondre à ta question, ni sans doute les connaissances. Je me demande néanmoins pourquoi tu cherches après l'erreur sur l'événement « signal », et non « exit ». À priori, j'aurais plutôt cherché sur un « exit », mais je ne connais pas ces outils.
Je me permets cependant quelques remarques générales sur le code. Je n'ai pas vraiment le temps de développer. Je donne donc le code comme cela, pose des questions si des points restent obscures.
(defun meta-compile-sentinel (proc sign) (let ((source-buf (find-buffer-visiting (buffer-file-name))) (msg (format "Process %s had the event '%sn" proc sign))) ;; on veut une sortie à exploiter ;; (message "mpost %d status" (process-exit-status proc)) ;; on teste si une erreur (when (eq (process-status proc) 'signal) (switch-to-buffer (process-buffer proc)) (goto-char (point-min)) ;;(message "mpost %d status" (process-exit-status proc)) ;; recherche de la ligne d'erreur (when (re-search-forward "l.([0-9]+)" nil t 1) (let ((line-error (string-to-int (match-string 1)))) (switch-to-buffer source-buf) ;;(set-buffer source-buf) (goto-line line-error) (message "processus statut %s: " (process-status proc)) ))) ;; si le process est exited ! (when (eq (process-status proc) 'exit) ;;si pas d'erreur ;;(switch-to-buffer source-buf) (set-buffer source-buf) (mv) ) (with-current-buffer (process-buffer proc) (insert msg)) (process-kill-without-query proc)))
Utilisation de `case' plutôt que de deux `when'. Test que le buffer est toujours existant ; la doc précise qu'une sentinelle doit le tester. Suppresion du `let', qui ne sert à rien.
À ce propos ... J'utilise ici `gensym', afin d'éviter les collisions. Comme je donne un préfixe privé au module (contenant « :: »), il n'y a pas grand risque. Néanmoins, il me semble qu'il existe une technique plus robuste. Quelqu'un s'en souvient-il ?
;; compile a metapost file and create a buffer where you ;; see the result of your compilation. ;; If a error occur the cursor go to the line of the error. (defun meta-compile (file) "Compile a MetaPost file with extension *.mp" (flet ((erase-old-works () ;;kill old work (when (get-process "mpost") (delete-process (get-process "mpost"))) (when (get-process "meta2ps") (delete-process (get-process "meta2ps"))) )) (erase-old-works) (let ((command nil) (proc-buf nil) (process nil) (sentinel nil) (args "-interaction errorstopmode ")) ;; do the new jobs (unless command (setq command (concat "/usr/bin/mpost "))) (unless proc-buf (setq proc-buf (get-buffer-create "*MetaPost*"))) (unless sentinel (setq sentinel 'meta-compile-sentinel)) (with-current-buffer proc-buf (erase-buffer)) (setq process (start-process-shell-command "mpost" proc-buf command args file))
(set-process-coding-system process 'iso-latin-1-unix 'utf-8) (set-process-sentinel process sentinel) (accept-process-output process) (switch-to-buffer-other-window proc-buf) ;; associate the sentinel to his process (other-window -1) (process-kill-without-query process))))
Suppression du `flet', que je n'imagine pas nécessaire, pour ne pas dire néfaste. Initialisation des variables dans le `let' (plutôt qu'initialisation à nil, puis utilisation superflue de `unless'). Supression de `sentinel', qui ne sert à rien, de même que `command' et `args'.
Je n'ai néanmoins pas le code de `drkm-el:mapcar' ici, et il n'est toujours pas sur mon site. Disons qu'il est laissé en exercice au lecteur ;-).
--drkm
merci pour tes conseils que je ne manquerai pas d'examiner plus tard.
bonne année 2005 !
drkm a écrit :
"@(none)" <""guy"@(none)"> writes:
voici du code elisp :
Je n'ai pas vraiment le temps de répondre à ta question, ni sans doute les connaissances. Je me demande néanmoins pourquoi tu cherches après l'erreur sur l'événement « signal », et non « exit ». À priori, j'aurais plutôt cherché sur un « exit », mais je ne connais pas ces outils.
Je me permets cependant quelques remarques générales sur le code. Je n'ai pas vraiment le temps de développer. Je donne donc le code comme cela, pose des questions si des points restent obscures.
(defun meta-compile-sentinel (proc sign) (let ((source-buf (find-buffer-visiting (buffer-file-name))) (msg (format "Process %s had the event '%sn" proc sign))) ;; on veut une sortie à exploiter ;; (message "mpost %d status" (process-exit-status proc)) ;; on teste si une erreur (when (eq (process-status proc) 'signal) (switch-to-buffer (process-buffer proc)) (goto-char (point-min)) ;;(message "mpost %d status" (process-exit-status proc)) ;; recherche de la ligne d'erreur (when (re-search-forward "l.([0-9]+)" nil t 1) (let ((line-error (string-to-int (match-string 1)))) (switch-to-buffer source-buf) ;;(set-buffer source-buf) (goto-line line-error) (message "processus statut %s: " (process-status proc)) ))) ;; si le process est exited ! (when (eq (process-status proc) 'exit) ;;si pas d'erreur ;;(switch-to-buffer source-buf) (set-buffer source-buf) (mv) ) (with-current-buffer (process-buffer proc) (insert msg)) (process-kill-without-query proc)))
Utilisation de `case' plutôt que de deux `when'. Test que le buffer est toujours existant ; la doc précise qu'une sentinelle doit le tester. Suppresion du `let', qui ne sert à rien.
À ce propos ... J'utilise ici `gensym', afin d'éviter les collisions. Comme je donne un préfixe privé au module (contenant « :: »), il n'y a pas grand risque. Néanmoins, il me semble qu'il existe une technique plus robuste. Quelqu'un s'en souvient-il ?
;; compile a metapost file and create a buffer where you ;; see the result of your compilation. ;; If a error occur the cursor go to the line of the error. (defun meta-compile (file) "Compile a MetaPost file with extension *.mp" (flet ((erase-old-works () ;;kill old work (when (get-process "mpost") (delete-process (get-process "mpost"))) (when (get-process "meta2ps") (delete-process (get-process "meta2ps"))) )) (erase-old-works) (let ((command nil) (proc-buf nil) (process nil) (sentinel nil) (args "-interaction errorstopmode ")) ;; do the new jobs (unless command (setq command (concat "/usr/bin/mpost "))) (unless proc-buf (setq proc-buf (get-buffer-create "*MetaPost*"))) (unless sentinel (setq sentinel 'meta-compile-sentinel)) (with-current-buffer proc-buf (erase-buffer)) (setq process (start-process-shell-command "mpost" proc-buf command args file))
(set-process-coding-system process 'iso-latin-1-unix 'utf-8) (set-process-sentinel process sentinel) (accept-process-output process) (switch-to-buffer-other-window proc-buf) ;; associate the sentinel to his process (other-window -1) (process-kill-without-query process))))
Suppression du `flet', que je n'imagine pas nécessaire, pour ne pas dire néfaste. Initialisation des variables dans le `let' (plutôt qu'initialisation à nil, puis utilisation superflue de `unless'). Supression de `sentinel', qui ne sert à rien, de même que `command' et `args'.
Je n'ai néanmoins pas le code de `drkm-el:mapcar' ici, et il n'est toujours pas sur mon site. Disons qu'il est laissé en exercice au lecteur ;-).
--drkm
merci pour tes conseils que je ne manquerai pas
d'examiner plus tard.
bonne année 2005 !
drkm a écrit :
"@(none)" <""guy"@(none)"> writes:
voici du code elisp :
Je n'ai pas vraiment le temps de répondre à ta question, ni sans
doute les connaissances. Je me demande néanmoins pourquoi tu cherches
après l'erreur sur l'événement « signal », et non « exit ». À priori,
j'aurais plutôt cherché sur un « exit », mais je ne connais pas ces
outils.
Je me permets cependant quelques remarques générales sur le code.
Je n'ai pas vraiment le temps de développer. Je donne donc le code
comme cela, pose des questions si des points restent obscures.
(defun meta-compile-sentinel (proc sign)
(let ((source-buf (find-buffer-visiting (buffer-file-name)))
(msg (format "Process %s had the event '%sn" proc sign)))
;; on veut une sortie à exploiter
;; (message "mpost %d status" (process-exit-status proc))
;; on teste si une erreur
(when (eq (process-status proc) 'signal)
(switch-to-buffer (process-buffer proc))
(goto-char (point-min))
;;(message "mpost %d status" (process-exit-status proc))
;; recherche de la ligne d'erreur
(when (re-search-forward "l.\([0-9]+\)" nil t 1)
(let ((line-error (string-to-int (match-string 1))))
(switch-to-buffer source-buf)
;;(set-buffer source-buf)
(goto-line line-error)
(message "processus statut %s: " (process-status proc))
)))
;; si le process est exited !
(when (eq (process-status proc) 'exit)
;;si pas d'erreur
;;(switch-to-buffer source-buf)
(set-buffer source-buf)
(mv)
)
(with-current-buffer (process-buffer proc)
(insert msg))
(process-kill-without-query proc)))
Utilisation de `case' plutôt que de deux `when'. Test que le buffer
est toujours existant ; la doc précise qu'une sentinelle doit le
tester. Suppresion du `let', qui ne sert à rien.
À ce propos ... J'utilise ici `gensym', afin d'éviter les
collisions. Comme je donne un préfixe privé au module (contenant
« :: »), il n'y a pas grand risque. Néanmoins, il me semble qu'il
existe une technique plus robuste. Quelqu'un s'en souvient-il ?
;; compile a metapost file and create a buffer where you
;; see the result of your compilation.
;; If a error occur the cursor go to the line of the error.
(defun meta-compile (file)
"Compile a MetaPost file with extension *.mp"
(flet ((erase-old-works ()
;;kill old work
(when (get-process "mpost")
(delete-process (get-process "mpost")))
(when (get-process "meta2ps")
(delete-process (get-process "meta2ps")))
))
(erase-old-works)
(let ((command nil)
(proc-buf nil)
(process nil)
(sentinel nil)
(args "-interaction errorstopmode "))
;; do the new jobs
(unless command
(setq command (concat "/usr/bin/mpost ")))
(unless proc-buf
(setq proc-buf (get-buffer-create "*MetaPost*")))
(unless sentinel
(setq sentinel 'meta-compile-sentinel))
(with-current-buffer proc-buf
(erase-buffer))
(setq process
(start-process-shell-command "mpost" proc-buf command args file))
(set-process-coding-system process 'iso-latin-1-unix 'utf-8)
(set-process-sentinel process sentinel)
(accept-process-output process)
(switch-to-buffer-other-window proc-buf)
;; associate the sentinel to his process
(other-window -1)
(process-kill-without-query process))))
Suppression du `flet', que je n'imagine pas nécessaire, pour ne pas
dire néfaste. Initialisation des variables dans le `let' (plutôt
qu'initialisation à nil, puis utilisation superflue de `unless').
Supression de `sentinel', qui ne sert à rien, de même que `command' et
`args'.
merci pour tes conseils que je ne manquerai pas d'examiner plus tard.
bonne année 2005 !
drkm a écrit :
"@(none)" <""guy"@(none)"> writes:
voici du code elisp :
Je n'ai pas vraiment le temps de répondre à ta question, ni sans doute les connaissances. Je me demande néanmoins pourquoi tu cherches après l'erreur sur l'événement « signal », et non « exit ». À priori, j'aurais plutôt cherché sur un « exit », mais je ne connais pas ces outils.
Je me permets cependant quelques remarques générales sur le code. Je n'ai pas vraiment le temps de développer. Je donne donc le code comme cela, pose des questions si des points restent obscures.
(defun meta-compile-sentinel (proc sign) (let ((source-buf (find-buffer-visiting (buffer-file-name))) (msg (format "Process %s had the event '%sn" proc sign))) ;; on veut une sortie à exploiter ;; (message "mpost %d status" (process-exit-status proc)) ;; on teste si une erreur (when (eq (process-status proc) 'signal) (switch-to-buffer (process-buffer proc)) (goto-char (point-min)) ;;(message "mpost %d status" (process-exit-status proc)) ;; recherche de la ligne d'erreur (when (re-search-forward "l.([0-9]+)" nil t 1) (let ((line-error (string-to-int (match-string 1)))) (switch-to-buffer source-buf) ;;(set-buffer source-buf) (goto-line line-error) (message "processus statut %s: " (process-status proc)) ))) ;; si le process est exited ! (when (eq (process-status proc) 'exit) ;;si pas d'erreur ;;(switch-to-buffer source-buf) (set-buffer source-buf) (mv) ) (with-current-buffer (process-buffer proc) (insert msg)) (process-kill-without-query proc)))
Utilisation de `case' plutôt que de deux `when'. Test que le buffer est toujours existant ; la doc précise qu'une sentinelle doit le tester. Suppresion du `let', qui ne sert à rien.
À ce propos ... J'utilise ici `gensym', afin d'éviter les collisions. Comme je donne un préfixe privé au module (contenant « :: »), il n'y a pas grand risque. Néanmoins, il me semble qu'il existe une technique plus robuste. Quelqu'un s'en souvient-il ?
;; compile a metapost file and create a buffer where you ;; see the result of your compilation. ;; If a error occur the cursor go to the line of the error. (defun meta-compile (file) "Compile a MetaPost file with extension *.mp" (flet ((erase-old-works () ;;kill old work (when (get-process "mpost") (delete-process (get-process "mpost"))) (when (get-process "meta2ps") (delete-process (get-process "meta2ps"))) )) (erase-old-works) (let ((command nil) (proc-buf nil) (process nil) (sentinel nil) (args "-interaction errorstopmode ")) ;; do the new jobs (unless command (setq command (concat "/usr/bin/mpost "))) (unless proc-buf (setq proc-buf (get-buffer-create "*MetaPost*"))) (unless sentinel (setq sentinel 'meta-compile-sentinel)) (with-current-buffer proc-buf (erase-buffer)) (setq process (start-process-shell-command "mpost" proc-buf command args file))
(set-process-coding-system process 'iso-latin-1-unix 'utf-8) (set-process-sentinel process sentinel) (accept-process-output process) (switch-to-buffer-other-window proc-buf) ;; associate the sentinel to his process (other-window -1) (process-kill-without-query process))))
Suppression du `flet', que je n'imagine pas nécessaire, pour ne pas dire néfaste. Initialisation des variables dans le `let' (plutôt qu'initialisation à nil, puis utilisation superflue de `unless'). Supression de `sentinel', qui ne sert à rien, de même que `command' et `args'.
Je n'ai néanmoins pas le code de `drkm-el:mapcar' ici, et il n'est toujours pas sur mon site. Disons qu'il est laissé en exercice au lecteur ;-).
--drkm
drkm
"@(none)" <""guy"@(none)"> writes:
merci pour tes conseils que je ne manquerai pas d'examiner plus tard.
De rien. As-tu essayé de changer `signal' en `exit' (lors su test d'événement) ? Si cela ne marche toujours pas, peut-être qu'un peu plus d'info sur METAPOST sera utile.
--drkm
"@(none)" <""guy"@(none)"> writes:
merci pour tes conseils que je ne manquerai pas
d'examiner plus tard.
De rien. As-tu essayé de changer `signal' en `exit' (lors su test
d'événement) ? Si cela ne marche toujours pas, peut-être qu'un peu
plus d'info sur METAPOST sera utile.
merci pour tes conseils que je ne manquerai pas d'examiner plus tard.
De rien. As-tu essayé de changer `signal' en `exit' (lors su test d'événement) ? Si cela ne marche toujours pas, peut-être qu'un peu plus d'info sur METAPOST sera utile.
--drkm
Eul'Bofo
On Wed, 29 Dec 2004 22:45:30 +0100, @(none) wrote:
bonjour a tous,
ce code me permet de compiler du code metapost sans quitter emacs. je récupère les erreurs les corriges et recompile. S'il n'y a pas d'erreurs je visualise le résultat grace à gv (je suis sous Linux fedora 3).
Ce code fonctionne a peu pret bien à ceci prêt que lorsqu'il y a une erreur le curseur ne va pas à la ligne ou se trouve l"erreur (celle ci est pourtant bien signalée par mpost) il faut relancer la compilation et là je pointe directement sur la bonne ligne.
Il semble que le buffer *MetPost* associé au processus qui lance mpost.
Une idée pour corriger ce qui ne va pas ?
merci à toutes les bonnes volontés et au passage bonnes fêtes !!! ne soit rempli qu'après la fin du processus.
Je ne comprends pas grand chose a tes soucis, mais suis par contre tres interesse par ton code :-) Peux-tu nous expliquer comment tu l'utilises ? Le fais-tu AVEC le mode meta, ou bien est-ce un truc entierement personnel ?
Merci d'avance ;-)
Et bonne annee.
bye
Nico
On Wed, 29 Dec 2004 22:45:30 +0100, @(none) wrote:
bonjour a tous,
ce code me permet de compiler du code metapost sans quitter emacs. je
récupère les erreurs les corriges et recompile. S'il n'y a pas d'erreurs
je visualise le résultat grace à gv (je suis sous Linux fedora 3).
Ce code fonctionne a peu pret bien à ceci prêt que lorsqu'il y a une
erreur le curseur ne va pas à la ligne ou se trouve l"erreur (celle ci
est pourtant bien signalée par mpost) il faut relancer la compilation et
là je pointe directement sur la bonne ligne.
Il semble que le buffer *MetPost* associé au processus qui lance mpost.
Une idée pour corriger ce qui ne va pas ?
merci à toutes les bonnes volontés et au passage bonnes fêtes !!! ne
soit rempli qu'après la fin du processus.
Je ne comprends pas grand chose a tes soucis, mais suis par contre tres
interesse par ton code :-) Peux-tu nous expliquer comment tu l'utilises ?
Le fais-tu AVEC le mode meta, ou bien est-ce un truc entierement
personnel ?
On Wed, 29 Dec 2004 22:45:30 +0100, @(none) wrote:
bonjour a tous,
ce code me permet de compiler du code metapost sans quitter emacs. je récupère les erreurs les corriges et recompile. S'il n'y a pas d'erreurs je visualise le résultat grace à gv (je suis sous Linux fedora 3).
Ce code fonctionne a peu pret bien à ceci prêt que lorsqu'il y a une erreur le curseur ne va pas à la ligne ou se trouve l"erreur (celle ci est pourtant bien signalée par mpost) il faut relancer la compilation et là je pointe directement sur la bonne ligne.
Il semble que le buffer *MetPost* associé au processus qui lance mpost.
Une idée pour corriger ce qui ne va pas ?
merci à toutes les bonnes volontés et au passage bonnes fêtes !!! ne soit rempli qu'après la fin du processus.
Je ne comprends pas grand chose a tes soucis, mais suis par contre tres interesse par ton code :-) Peux-tu nous expliquer comment tu l'utilises ? Le fais-tu AVEC le mode meta, ou bien est-ce un truc entierement personnel ?