OVH Cloud OVH Cloud

emacs et gp

26 réponses
Avatar
Jacques Vernin
Bonjour

J'utilise latex
Pour latex, j'utilise emacs
et pour les maths, j'utilise pari-gp

Tout cela sur imac G5, OS X.4

Il est dit dans la doc de gp qu'on peut interfacer gp et emacs, en
mettant dans .emacs:
(autoload ’gp-mode "/home/kb/GP/lib/pari/pari" nil t)
(autoload ’gp-script-mode "/home/kb/GP/lib/pari/pari" nil t)
(autoload ’gp "/home/kb/GP/lib/pari/pari" nil t)
(autoload ’gpman "/home/kb/GP/lib/pari/pari" nil t)
(setq auto-mode-alist
(cons ’("\\.gp$" . gp-script-mode) auto-mode-alist))

... ce que je fais, sans comprendre que dalle.

Sans succès.

Je précise que mon gp se trouve dans /sw/bin (chargé avec fink)

Quelqu'un a-t-il des informations sur le sujet?
(mon emacs: 22.0.50.1
mon gp: 2.1.7 gprc est dans /sw/etc/ )

Salut à tous
Jacques Vernin

10 réponses

1 2 3
Avatar
Olivier
Jacques Vernin wrote:
---------------------------------------------------------------------------
- D'abord, dans mon pariemacs (2.38) à moi, il n'est pas question de 7
fichiers , mais de 4 seulement, que j'ai dénichés en
sw/share/emacs/site-lisp/pari-gp (inutile de préciser que ce n'est pas
moi qui suis allé les foutre là!)
Là, j'ai trouvé:
pariemacs, pari-el, pari-translator.el



Aie, desole, j'ai plutot la 2-55, mais la distrib de pari n'est plus a
jour, mon mot de passe cvs ne marche plus parce que reugneugneu
et reugneugneu ---

- J'ai "byte-compilé" pari-el et mis pari-elc (résultat) dans le même
directory

- Trouvé nulle part le pari-conf.el que je suis donc allé chercher sur
internet et que j'ai mis dans mon sw/share/emacs/site-lisp/pari-gp



Non, a virer :-)
Dans le pari.el que tu as, il y a

---------------------------------------------------------------------
;; CONFIGURE:
;; (defconst gp-version "@version@")
(defconst gp-version "2.0.17")
;; Set the following five constants for your site:

;; CONFIGURE:
;; (defconst gp-gphelp-dir "@bindir@/"
;; "The directory where gphelp is to be found")
(defconst gp-gphelp-dir "/usr/local/bin/"
"The directory where gphelp is to be found")

;; CONFIGURE:
;; (defconst gp-file-name "@bindir@/gp"
;; "The file name of the gp executable file")
(defconst gp-file-name "/usr/local/bin/gp"
"The file name of the gp executable file")

[...]

;; CONFIGURE:
;; (gp-defcustom gp-readline-enabledp @readline-enabledp@
;; "*t is readline is enabled. Emacs will try to set it properly
;; whenever a gp-session is started.")
(gp-defcustom gp-readline-enabledp t
"*t if readline is enabled. Emacs will try to set it properly
whenever a gp-session is started."
:type 'boolean
:group 'gp)

(gp-defcustom pari-colors
;; CONFIGURE ??
;; (eval (expand-file-name (concat gp-gphelp-dir "pari-colors.el" )))
"/home/ramare/lisp/first-look/pari-colors.el"
"*Where the choice of colors is stored"
:type 'file
:group 'gp)

-----------------------------------------------------------------------------------

Il faut les changer la.
Normalement c'est le script d'initialisation qui le fait.
pari-conf.el contient ces cinq variables.

Pour pari-colors, mets
(eval (expand-file-name (concat gp-gphelp-dir "pari-colors.el" )))
au lieu de "/home/ramare/lisp/first-look/pari-colors.el"
si tu manques d'idées.

Pour gp-readline-enabledp
quand tu lances gp en shell, il te dit au debut "readline enabled"
ou disabled. => t si enabled, nil si disabled

- Je modifie donc mon .emacs en mettant:


(autoload 'gp-mode "/sw/share/emacs/site-lisp/pari-gp" nil t)
(autoload 'gp-script-mode "/sw/share/emacs/site-lisp/pari-gp" nil t)
(autoload 'gp "/sw/share/emacs/site-lisp/pari-gp" nil t)
(autoload 'gpman "/sw/share/emacs/site-lisp/pari-gp" nil t)
(setq auto-mode-alist
(cons '(".gp$" . gp-script-mode) auto-mode-alist))

- Je ferme emacs; je l'ouvre.
Pas de problème visible;
C-x C-f truc.gp
et:
File mode specification error: (file-error "Cannot open load file"
"/sw/share/emacs/site-lisp/pari-gp")

Faudrait-il que je transporte tout en /usr/local/lib/pari ??



Non, emacs dit qu'il ne peut ouvrir le fichier situe en
/sw/share/emacs/site-lisp/pari-gp
Ce sont mes indications qui sont foireuses :
(autoload 'gp-mode "/sw/share/emacs/site-lisp/pari-gp/pari" nil t)
(autoload 'gp-script-mode "/sw/share/emacs/site-lisp/pari-gp/pari" nil t)
(autoload 'gp "/sw/share/emacs/site-lisp/pari-gp/pari" nil t)
(autoload 'gpman "/sw/share/emacs/site-lisp/pari-gp/pari" nil t)

Voila qui doit regle le probleme au depart.
Good luck !
Olivier
Avatar
Jacques Vernin
Olivier a écrit :
Jacques Vernin wrote:
---------------------------------------------------------------------------

- D'abord, dans mon pariemacs (2.38) à moi, il n'est pas question de 7
fichiers , mais de 4 seulement, que j'ai dénichés en
sw/share/emacs/site-lisp/pari-gp (inutile de préciser que ce n'est pas
moi qui suis allé les foutre là!)
Là, j'ai trouvé:
pariemacs, pari-el, pari-translator.el




Aie, desole, j'ai plutot la 2-55, mais la distrib de pari n'est plus a
jour, mon mot de passe cvs ne marche plus parce que reugneugneu
et reugneugneu ---

- J'ai "byte-compilé" pari-el et mis pari-elc (résultat) dans le même
directory

- Trouvé nulle part le pari-conf.el que je suis donc allé chercher sur
internet et que j'ai mis dans mon sw/share/emacs/site-lisp/pari-gp







Je n'ai pas encore viré ce fichier. Je vais le faire si tu insistes!

Non, a virer :-)
Dans le pari.el que tu as, il y a

---------------------------------------------------------------------
;; CONFIGURE:
;; (defconst gp-version "@version@")
(defconst gp-version "2.0.17")
;; Set the following five constants for your site:

;; CONFIGURE:
;; (defconst gp-gphelp-dir "@bindir@/"
;; "The directory where gphelp is to be found")
(defconst gp-gphelp-dir "/usr/local/bin/"
"The directory where gphelp is to be found")

;; CONFIGURE:
;; (defconst gp-file-name "@bindir@/gp"
;; "The file name of the gp executable file")
(defconst gp-file-name "/usr/local/bin/gp"
"The file name of the gp executable file")

[...]

;; CONFIGURE:
;; (gp-defcustom gp-readline-enabledp @readline-enabledp@
;; "*t is readline is enabled. Emacs will try to set it properly
;; whenever a gp-session is started.")
(gp-defcustom gp-readline-enabledp t
"*t if readline is enabled. Emacs will try to set it properly
whenever a gp-session is started."
:type 'boolean
:group 'gp)

(gp-defcustom pari-colors
;; CONFIGURE ??
;; (eval (expand-file-name (concat gp-gphelp-dir "pari-colors.el" )))
"/home/ramare/lisp/first-look/pari-colors.el"
"*Where the choice of colors is stored"
:type 'file
:group 'gp)

-----------------------------------------------------------------------------------


Il faut les changer la.


D'accord; là non plus, je n'ai pas encore changé /usr/local/bin/ en
/sw/share/emacs/site-lisp/pari-gp/. Question: pourquoi fink me met-il
mes fichiers dans ce directory?

Normalement c'est le script d'initialisation qui le fait.
pari-conf.el contient ces cinq variables.


Mais, quand je l'aurai enlevé, il se refabrique tout seul?

Pour pari-colors, mets
(eval (expand-file-name (concat gp-gphelp-dir "pari-colors.el" )))
au lieu de "/home/ramare/lisp/first-look/pari-colors.el"
si tu manques d'idées.

Pour gp-readline-enabledp
quand tu lances gp en shell, il te dit au debut "readline enabled"
ou disabled. => t si enabled, nil si disabled



D'accord, je vais essayer, mais après ta réponse nouvelle!

- Je modifie donc mon .emacs en mettant:


(autoload 'gp-mode "/sw/share/emacs/site-lisp/pari-gp" nil t)
(autoload 'gp-script-mode "/sw/share/emacs/site-lisp/pari-gp" nil t)
(autoload 'gp "/sw/share/emacs/site-lisp/pari-gp" nil t)
(autoload 'gpman "/sw/share/emacs/site-lisp/pari-gp" nil t)
(setq auto-mode-alist
(cons '(".gp$" . gp-script-mode) auto-mode-alist))




- Je ferme emacs; je l'ouvre.
Pas de problème visible;
C-x C-f truc.gp
et:
File mode specification error: (file-error "Cannot open load file"
"/sw/share/emacs/site-lisp/pari-gp")

Faudrait-il que je transporte tout en /usr/local/lib/pari ??




Non, emacs dit qu'il ne peut ouvrir le fichier situe en
/sw/share/emacs/site-lisp/pari-gp
Ce sont mes indications qui sont foireuses :
(autoload 'gp-mode "/sw/share/emacs/site-lisp/pari-gp/pari" nil t)
(autoload 'gp-script-mode "/sw/share/emacs/site-lisp/pari-gp/pari" nil t)
(autoload 'gp "/sw/share/emacs/site-lisp/pari-gp/pari" nil t)
(autoload 'gpman "/sw/share/emacs/site-lisp/pari-gp/pari" nil t)

Voila qui doit regle le probleme au depart.
Good luck !
Olivier



Alors, en ne faisant que cette dernière manip (rajouter /pari à mon
directory), et en tapant M-x gp, j'obtiens bien le gp habituel.

Donc, tout baignerait sans faire toutes les autres modifs que tu me
conseilles. Je les fais tout de même?

Merci encore; bonne après-midi.

Jacques Vernin
Avatar
Jacques Vernin
Olivier a écrit :



Voila qui doit regle le probleme au depart.
Good luck !
Olivier




Bon, la fin n'est pas la fin!
Quand je fais M-x gp, j'obtiens bin l'écran de gp.
Mais si je fais M-x gpman, nouvel avatar: il ne trouve pas le terminal
sur lequel sortir le document (le .dvi je pense) et il me rétorque:

========== Loading hilit19...done
Package hilit19 is obsolete
Loading /sw/share/emacs/site-lisp/pari-gp/pari...done
xdvi needs X-Windows at /sw/bin/gphelp line 171.
En attente de la reponse de gp ... [19 times]
termine.
===========
(j'ai ajouté le diagnostic sur hilit19 ...???)

Pourtant, j'ai bien : export DISPLAY=:0 dans mon .profile

J'ajoute que si, à partir d'emacs, je lance

? ploth(X=0,20,cos(X))
*** no X server.

alors que si je fais la même chose dans terminal, il me construit la
sinusoïde habituelle!

Bref!...

Salut

Jacques Vernin
Avatar
Olivier
Jacques Vernin wrote:
[...]
- Trouvé nulle part le pari-conf.el que je suis donc allé chercher
sur internet et que j'ai mis dans mon sw/share/emacs/site-lisp/pari-gp






Je n'ai pas encore viré ce fichier. Je vais le faire si tu insistes!

Non, a virer :-)





A l'heure actuelle, il n'est as lu, le virer permettrait simplement
de clarifier ton install.
[...]
D'accord; là non plus, je n'ai pas encore changé /usr/local/bin/ en
/sw/share/emacs/site-lisp/pari-gp/. Question: pourquoi fink me met-il
mes fichiers dans ce directory?


Il faut lui demander !!
"sw" est pour software, qui est parfois une partition independante.
[...]
Alors, en ne faisant que cette dernière manip (rajouter /pari à mon
directory), et en tapant M-x gp, j'obtiens bien le gp habituel.

Donc, tout baignerait sans faire toutes les autres modifs que tu me
conseilles. Je les fais tout de même?



A priori oui, mais tout est automatisé pour fonctionner meme
si les variables globales ne sont pas bien positionnée; Il y a
simplement moins des bugs quand tout est kasher !-)

Amities,
Olivier
Avatar
Olivier
Jacques Vernin wrote:
[...]
Quand je fais M-x gp, j'obtiens bin l'écran de gp.
Mais si je fais M-x gpman, nouvel avatar: il ne trouve pas le terminal
sur lequel sortir le document (le .dvi je pense) et il me rétorque:

========== > Loading hilit19...done
Package hilit19 is obsolete
Loading /sw/share/emacs/site-lisp/pari-gp/pari...done
xdvi needs X-Windows at /sw/bin/gphelp line 171.
En attente de la reponse de gp ... [19 times]
termine.
===========


Oui, une des raisons pourquoi il faudrait une version plus recente
qui fonctionne avec font-lock.el et non hilit19.el.

La partie du buffer/tampon *Messages* que tu donnes dit
(1) on charge hilit19.el
(2) qui est obsolete (non maintenue)
(3) on charge pari.el
Tout cela c'est au debut de la lecture du fichier.
(4) xdvi ...
(5) aucun retour de prompt, pari.el attend et le prompt finit
par arriver.

Pourtant, j'ai bien : export DISPLAY=:0 dans mon .profile

J'ajoute que si, à partir d'emacs, je lance

? ploth(X=0,20,cos(X))
*** no X server.



Tout cela, ce sont des choses qui fonctionnent chez moi.
Cela peut dependre des options des processus shell sous emacs.
Demain je mettrais la nouvelle version de pari.el sur mon site.

Bonne nuit en attendant !
Amities,
Olivier
Avatar
Jacques Vernin
Olivier a écrit :

Je crains d'éxagérer un peu, mais ...

Jacques Vernin wrote:
[...]

Quand je fais M-x gp, j'obtiens bin l'écran de gp.
Mais si je fais M-x gpman, nouvel avatar: il ne trouve pas le terminal
sur lequel sortir le document (le .dvi je pense) et il me rétorque:

========== >> Loading hilit19...done
Package hilit19 is obsolete
Loading /sw/share/emacs/site-lisp/pari-gp/pari...done
xdvi needs X-Windows at /sw/bin/gphelp line 171.
En attente de la reponse de gp ... [19 times]
termine.
=========== >



Oui, une des raisons pourquoi il faudrait une version plus recente
qui fonctionne avec font-lock.el et non hilit19.el.



Une version plus nouvelle de quoi? d'emacs. A priori, ,je pense que j'ai
mis la dernière, la 22.0.50.18. Mais, finalement, il semble que ce soit
vous qui utilisiez hilit19 dans pari.el; donc, nouvelle version de
pari.el annoncée en fin de message. D'accord

La partie du buffer/tampon *Messages* que tu donnes dit
(1) on charge hilit19.el
(2) qui est obsolete (non maintenue)
(3) on charge pari.el
Tout cela c'est au debut de la lecture du fichier.
(4) xdvi ...
(5) aucun retour de prompt, pari.el attend et le prompt finit
par arriver.



Ce que je comprends est qu'il a besoin d'un terminal pour afficher le
fichier, et qu'il ne trouve pas ce terminal, or j'ai bien indiqué
"export DISPLAY=:0" et j'ai ouvert X11

Pourtant, j'ai bien : export DISPLAY=:0 dans mon .profile

J'ajoute que si, à partir d'emacs, je lance

? ploth(X=0,20,cos(X))
*** no X server.






J'aiurais tendance à dire que c'est bien la même chose!

Tout cela, ce sont des choses qui fonctionnent chez moi.
Cela peut dependre des options des processus shell sous emacs.
Demain je mettrais la nouvelle version de pari.el sur mon site.

Bonne nuit en attendant !
Amities,
Olivier



J'espère que Hécate vous fut favorable!

PS:
- éliminé pari-conf.el
- les autres, je vais faire.
Avatar
Olivier
Jacques Vernin wrote:
[...]
Ce que je comprends est qu'il a besoin d'un terminal pour afficher le
fichier, et qu'il ne trouve pas ce terminal, or j'ai bien indiqué
"export DISPLAY=:0" et j'ai ouvert X11

Pourtant, j'ai bien : export DISPLAY=:0 dans mon .profile

J'ajoute que si, à partir d'emacs, je lance

? ploth(X=0,20,cos(X))
*** no X server.





J'aurais tendance à dire que c'est bien la même chose!



Oui, et je ne pense pas que ce soit propre a pari.el.

Que vaut la variable shell-file-name ? (C-h v shell-file-name
sous emacs qui doit etre aussi la valeur de "echo $SHELL" )

A.O.
Avatar
Jacques Vernin
Olivier a écrit :



Que vaut la variable shell-file-name ? (C-h v shell-file-name



shell-file-name's value is "/bin/bash"


et
amarseille-151-1-55-155:~/Desktop/karol jver$ echo $SHELL
/bin/bash


qui est donc bien la même


...
Salut

JV
Avatar
Jacques Vernin
Je reviens sur le sujet!, car je suis au milieu du merdier!

- gp chargé par fink
- suite aux nombreux conseils d'Olivier, emacs et gp interfacés, ce qui
signifie (enfin, je pense que cela signifie):
+ Quand je crée un fichier truc.gp sous emacs, emacs "comprend" qu'il
s'agit un fichier gp -- sauf la coloration syntaxique que je n'arrive
pas à mettre
+ je peux lancer gp à partir d'emacs

- si, je rédige un truc.gp comprenant:
plot(X=0,5,sin(X))
et que j'évalue le fichier (menu GP), j'obtiens, sur un écarn nommé
PARI, un bout de sinusoîde

- si, je mets:
ploth(X=0,5,sin(X)), j'obtiens sur le même tampon PARI:
------------
? r /Users/jver/Desktop/gp/testgp.gp
*** no X server.
------------
alors que si je lance la même instruction sur le terminal, j'obtiens le
morceau de sinusoïde attendu


- Par ailleurs, si je lance gp à partir d'emacs, je n'obtiens pas le
guide, mais "xdvi needs X-Windows at /sw/bin/gphelp line 171."
Si je fais la même chose à partir du terminal, j'obtiens:
----
(10:51) gp > ??
displaying '/sw/lib/pari/doc/users.dvi'.
--------
et ça ne me displaye rien du tout, alors que si! je vaix chercher
/sw/lib/pari/doc/users.dvi
je peux le visualiser avec dvips sans difficulté.

Voilà l'état de la situation. Si des docteurs peuvent dire si c'est grave?
Merci

Jacques Vernin
Avatar
Sébastien Kirche
Le 22 décembre 2005 à 10:12, Jacques Vernin a dit :

Je reviens sur le sujet!, car je suis au milieu du merdier!



Je vais essayer de participer, mais je n'ai pas tout suivi en détail
aussi excusez-si je reviens sur un truc déjà dit.


- gp chargé par fink
- suite aux nombreux conseils d'Olivier, emacs et gp interfacés, ce
qui signifie (enfin, je pense que cela signifie):
+ Quand je crée un fichier truc.gp sous emacs, emacs "comprend"
qu'il s'agit un fichier gp -- sauf la coloration syntaxique que je
n'arrive pas à mettre
+ je peux lancer gp à partir d'emacs

- si, je rédige un truc.gp comprenant:
plot(X=0,5,sin(X))
et que j'évalue le fichier (menu GP), j'obtiens, sur un écarn nommé
PARI, un bout de sinusoîde

- si, je mets:
ploth(X=0,5,sin(X)), j'obtiens sur le même tampon PARI:
------------
? r /Users/jver/Desktop/gp/testgp.gp
*** no X server.



(1)

------------
alors que si je lance la même instruction sur le terminal, j'obtiens
le morceau de sinusoïde attendu


- Par ailleurs, si je lance gp à partir d'emacs, je n'obtiens pas le
guide, mais "xdvi needs X-Windows at /sw/bin/gphelp line 171."



(2)

Si je fais la même chose à partir du terminal, j'obtiens:
----
(10:51) gp > ??
displaying '/sw/lib/pari/doc/users.dvi'.
--------
et ça ne me displaye rien du tout, alors que si! je vaix chercher
/sw/lib/pari/doc/users.dvi
je peux le visualiser avec dvips sans difficulté.

Voilà l'état de la situation. Si des docteurs peuvent dire si c'est
grave? Merci



Grave, non. Juste un poil casse-pieds à paramétrer.

Les messages en (1) et (2) montrent que gnuplot lancé par emacs ne
trouve pas le serveur X11. Je suppose qu'il est bien lancé au moment de
ton test, puisque ça marche du terminal.

Sans doute sais-tu que la position du serveur X11 (qui peut être sur une
autre machine) est renseigné aux applications par la variable $DISPLAY
qui doit valoir s'il s'agit d'une utilisation locale :0.0

Si tu as correctement ajouté cette variable à ton environnement pour le
terminal (.profile / .cshrc / .tcshrc / .bashrc / .zshenv suivant le
cas) il faut savoir que les applications «graphiques» du mac (celles de
/Applications/) n'utilisent pas le même environnement et comme les
processus lancés par une application héritent de l'environnement parent,
gnuplot lancé par Emacs ne doit pas avoir $DISPLAY renseigné.

Cet environnement propre aux applications se trouve dans
~/.MacOSX/environment.plist

J'en ai parlé ici précédemment :
http://groups.google.com/group/fr.comp.applications.emacs/msg/222b5aa7d0d3428c
et ici :
http://groups.google.com/group/fr.comp.applications.emacs/msg/2e72ae9bfe0163da

Si tu as installé Fink, tu disposes sans doute des Developer Tools
d'Apple et de «Property List Editor» dans
/Developer/Applications/Utilities pour faciliter la modification du
fichier.

Si ça peut t'aider, j'ai copié une version light du mien (en laissant
quelques variables pour te faire une idée) que tu peux reprendre :
http://sebastien.kirche.free.fr/mac/environment.plist

Je pense que ça devrait déjà te faire progresser, et peut-être régler
tes problèmes.

HTH.
--
Sébastien Kirche
1 2 3