Je tente d'obtenir une fonction "eshell-toggle" :
à partir d'un source /tmp/prog/essai.pas, je voudrais compiler,
splitter la fenêtre et executer le programme un eshell dans
l'autre buffer.
En fait, je veux automatiser :
M-x pascal-compile ( une fonction compile :))
;; éventuellement
C-x 2
C-x o
;;
M-x eshell
cd /tmp/prog <entrée>
./essai <entrée>
J'ai tenté avec peu de succès de modifier shell-toggle.
Auriez-vous une solution à mon problème ?
--
E.Depardieu
Une base de TeXtes :<http://base.latekexos.org>
Merci de ta réponse. Mais en fait, c'est de cette version dont je dispose et que j'ai un peu (tenté de ) modifier en remplaçant partout shell par eshell et (defun shell-toggle-ansi-term () ...) par :
(defun eshell-toggle-ansi-term () (eshell))
Ce n'est pas satisfaisant mais faut dire que je comprend mal ce que je tente :(
Je voudrais, si possible, remplacer le "cd DIR" du make-cd par le nom du programme.
-- E.Depardieu Une base de TeXtes :<http://base.latekexos.org>
Le 10/01/2004, Matthieu Moy <MatthieuNOSPAM.Moy@imag.fr.invalid> a écrit :
eric@StFlou.invalid (E.Depardieu) writes:
J'ai tenté avec peu de succès de modifier shell-toggle.
Auriez-vous une solution à mon problème ?
J'ai déjà modifié shell-toggle pour pouvoir utiliser "term" à la place
de "shell".
Merci de ta réponse.
Mais en fait, c'est de cette version dont je dispose et que j'ai un
peu (tenté de ) modifier en remplaçant partout shell par eshell
et (defun shell-toggle-ansi-term () ...) par :
(defun eshell-toggle-ansi-term ()
(eshell))
Ce n'est pas satisfaisant mais faut dire que je comprend mal ce que je
tente :(
Je voudrais, si possible, remplacer le "cd DIR" du make-cd par le nom du
programme.
--
E.Depardieu
Une base de TeXtes :<http://base.latekexos.org>
Merci de ta réponse. Mais en fait, c'est de cette version dont je dispose et que j'ai un peu (tenté de ) modifier en remplaçant partout shell par eshell et (defun shell-toggle-ansi-term () ...) par :
(defun eshell-toggle-ansi-term () (eshell))
Ce n'est pas satisfaisant mais faut dire que je comprend mal ce que je tente :(
Je voudrais, si possible, remplacer le "cd DIR" du make-cd par le nom du programme.
-- E.Depardieu Une base de TeXtes :<http://base.latekexos.org>
Merci de ta réponse. Mais en fait, c'est de cette version dont je dispose et que j'ai un peu (tenté de ) modifier en remplaçant partout shell par eshell et (defun shell-toggle-ansi-term () ...) par :
Merci de ta réponse.
Mais en fait, c'est de cette version dont je dispose et que j'ai un
peu (tenté de ) modifier en remplaçant partout shell par eshell
et (defun shell-toggle-ansi-term () ...) par :
Merci de ta réponse. Mais en fait, c'est de cette version dont je dispose et que j'ai un peu (tenté de ) modifier en remplaçant partout shell par eshell et (defun shell-toggle-ansi-term () ...) par :
Le principe est tout con : Avoir une fonction qui fait prèsque la même chose que RET, mais qui attends que la compilation soit terminée pour le faire. (Et ça marche en shell, en eshell, en ansi-term, et même en gud pour faire du débugage !) (Typiquement à binder sur C-M-RET ou quelque chose comme ça)
Comme toujours, version initiale, pas trop testée, retours bienvenus.
Le principe est tout con : Avoir une fonction qui fait prèsque la même
chose que RET, mais qui attends que la compilation soit terminée pour
le faire. (Et ça marche en shell, en eshell, en ansi-term, et même en
gud pour faire du débugage !) (Typiquement à binder sur C-M-RET ou
quelque chose comme ça)
Comme toujours, version initiale, pas trop testée, retours bienvenus.
Le principe est tout con : Avoir une fonction qui fait prèsque la même chose que RET, mais qui attends que la compilation soit terminée pour le faire. (Et ça marche en shell, en eshell, en ansi-term, et même en gud pour faire du débugage !) (Typiquement à binder sur C-M-RET ou quelque chose comme ça)
Comme toujours, version initiale, pas trop testée, retours bienvenus.
M-x pascal-compile ( une fonction compile :)) ;; éventuellement C-x 2 C-x o ;; M-x eshell cd /tmp/prog <entrée> ./essai
<Attendre que le programme ai fini de compiler>
<entrée>
Menteur! J'y avais pas pensé :)
En fait, j'ose même pas dire le genre de programme qui seront compilés : vraiment pas le temps de même penser au mot café pendant la compilation :)
J'ai un peu honte que tu perdes du temps sur mon problème, c'est un peu de la confiture pour un cochon : je suis pas capable de piger :(
Alors j'ai mis dans mon .emacs :
(autoload 'shell-toggle-patched "~/.lisp/shell-toggle-patched" "Toggles between the *shell* buffer and whatever buffer you are editing." t) (autoload 'moy-compilation-schedule-execute "~/.lisp/moy-compilation-schedule-execute" "Compilation ..." t)
(setq shell-toggle-launch-shell 'shell-toggle-eshell) ;; j'ai viré un quote
Mais en faisant M-x shell-toggle-patched, j'obtiens : Autoloading failed to define function shell-toggle-patched
Si ensuite je fais M-x shell-toggle, eshell est bien lancé, "activé" mais j'obtiens :
Symbol's value as variable is void: compilation-in-progress
Comme toujours, version initiale, pas trop testée, retours bienvenus.
Bon, ben disons que c'est un retour ... -- E.Depardieu Une base de TeXtes :<http://base.latekexos.org>
Le 11/01/2004, Matthieu Moy <MatthieuNOSPAM.Moy@imag.fr.invalid> a écrit :
Je lis dans tes pensées et ajoute une étape :
M-x pascal-compile ( une fonction compile :))
;; éventuellement
C-x 2
C-x o
;;
M-x eshell
cd /tmp/prog <entrée>
./essai
<Attendre que le programme ai fini de compiler>
<entrée>
Menteur! J'y avais pas pensé :)
En fait, j'ose même pas dire le genre de programme qui seront
compilés : vraiment pas le temps de même penser au mot café pendant la
compilation :)
J'ai un peu honte que tu perdes du temps sur mon problème, c'est un
peu de la confiture pour un cochon : je suis pas capable de piger :(
Alors j'ai mis dans mon .emacs :
(autoload 'shell-toggle-patched "~/.lisp/shell-toggle-patched"
"Toggles between the *shell* buffer and whatever buffer you are editing."
t)
(autoload 'moy-compilation-schedule-execute "~/.lisp/moy-compilation-schedule-execute"
"Compilation ..." t)
(setq shell-toggle-launch-shell 'shell-toggle-eshell)
;; j'ai viré un quote
M-x pascal-compile ( une fonction compile :)) ;; éventuellement C-x 2 C-x o ;; M-x eshell cd /tmp/prog <entrée> ./essai
<Attendre que le programme ai fini de compiler>
<entrée>
Menteur! J'y avais pas pensé :)
En fait, j'ose même pas dire le genre de programme qui seront compilés : vraiment pas le temps de même penser au mot café pendant la compilation :)
J'ai un peu honte que tu perdes du temps sur mon problème, c'est un peu de la confiture pour un cochon : je suis pas capable de piger :(
Alors j'ai mis dans mon .emacs :
(autoload 'shell-toggle-patched "~/.lisp/shell-toggle-patched" "Toggles between the *shell* buffer and whatever buffer you are editing." t) (autoload 'moy-compilation-schedule-execute "~/.lisp/moy-compilation-schedule-execute" "Compilation ..." t)
(setq shell-toggle-launch-shell 'shell-toggle-eshell) ;; j'ai viré un quote
Mais en faisant M-x shell-toggle-patched, j'obtiens : Autoloading failed to define function shell-toggle-patched
Si ensuite je fais M-x shell-toggle, eshell est bien lancé, "activé" mais j'obtiens :
Symbol's value as variable is void: compilation-in-progress
Comme toujours, version initiale, pas trop testée, retours bienvenus.
Bon, ben disons que c'est un retour ... -- E.Depardieu Une base de TeXtes :<http://base.latekexos.org>
Matthieu Moy
(E.Depardieu) writes:
J'ai un peu honte que tu perdes du temps sur mon problème, c'est un peu de la confiture pour un cochon : je suis pas capable de piger :(
Tu n'est pas le seul à compiler et a executer des programmes ;-)
J'ai juste ajouté le support de eshell dans shell-toggle, et mis au propre mes fichiers de config !
(autoload 'shell-toggle-patched "~/.lisp/shell-toggle-patched" "Toggles between the *shell* buffer and whatever buffer you are editing." t)
(autoload 'shell-toggle "~/.lisp/shell-toggle-patched" "Toggles between the *shell* buffer and whatever buffer you are editing." t)
(la fonction s'appelle shell-toggle, et le fichier s'appelle shell-toggle-patched.el)
(setq shell-toggle-launch-shell 'shell-toggle-eshell) ;; j'ai viré un quote
Oups, je m'étais gourré alors :-(
Mais en faisant M-x shell-toggle-patched, j'obtiens : Autoloading failed to define function shell-toggle-patched
Normal (cf. ci-dessus)
Si ensuite je fais M-x shell-toggle, eshell est bien lancé, "activé" mais j'obtiens :
Symbol's value as variable is void: compilation-in-progress
Ah, c'est que la variable compilation-in-progress n'est définie que quand tu lances ta première compilation.
Solution : M-x compile RET une fois avant "shell-toggle", ou utiliser la dernière version de moy-compilation-schedule-execute.el. (Qui fait un (require 'compile) en plus.)
-- Matthieu
eric@StFlou.invalid (E.Depardieu) writes:
J'ai un peu honte que tu perdes du temps sur mon problème, c'est un
peu de la confiture pour un cochon : je suis pas capable de piger :(
Tu n'est pas le seul à compiler et a executer des programmes ;-)
J'ai juste ajouté le support de eshell dans shell-toggle, et mis au
propre mes fichiers de config !
(autoload 'shell-toggle-patched "~/.lisp/shell-toggle-patched"
"Toggles between the *shell* buffer and whatever buffer you are editing."
t)
(autoload 'shell-toggle "~/.lisp/shell-toggle-patched"
"Toggles between the *shell* buffer and whatever buffer you are editing."
t)
(la fonction s'appelle shell-toggle, et le fichier s'appelle
shell-toggle-patched.el)
(setq shell-toggle-launch-shell 'shell-toggle-eshell)
;; j'ai viré un quote
Oups, je m'étais gourré alors :-(
Mais en faisant M-x shell-toggle-patched, j'obtiens :
Autoloading failed to define function shell-toggle-patched
Normal (cf. ci-dessus)
Si ensuite je fais M-x shell-toggle,
eshell est bien lancé, "activé" mais j'obtiens :
Symbol's value as variable is void: compilation-in-progress
Ah, c'est que la variable compilation-in-progress n'est définie que
quand tu lances ta première compilation.
Solution : M-x compile RET une fois avant "shell-toggle", ou utiliser
la dernière version de moy-compilation-schedule-execute.el. (Qui fait
un (require 'compile) en plus.)
J'ai un peu honte que tu perdes du temps sur mon problème, c'est un peu de la confiture pour un cochon : je suis pas capable de piger :(
Tu n'est pas le seul à compiler et a executer des programmes ;-)
J'ai juste ajouté le support de eshell dans shell-toggle, et mis au propre mes fichiers de config !
(autoload 'shell-toggle-patched "~/.lisp/shell-toggle-patched" "Toggles between the *shell* buffer and whatever buffer you are editing." t)
(autoload 'shell-toggle "~/.lisp/shell-toggle-patched" "Toggles between the *shell* buffer and whatever buffer you are editing." t)
(la fonction s'appelle shell-toggle, et le fichier s'appelle shell-toggle-patched.el)
(setq shell-toggle-launch-shell 'shell-toggle-eshell) ;; j'ai viré un quote
Oups, je m'étais gourré alors :-(
Mais en faisant M-x shell-toggle-patched, j'obtiens : Autoloading failed to define function shell-toggle-patched
Normal (cf. ci-dessus)
Si ensuite je fais M-x shell-toggle, eshell est bien lancé, "activé" mais j'obtiens :
Symbol's value as variable is void: compilation-in-progress
Ah, c'est que la variable compilation-in-progress n'est définie que quand tu lances ta première compilation.
Solution : M-x compile RET une fois avant "shell-toggle", ou utiliser la dernière version de moy-compilation-schedule-execute.el. (Qui fait un (require 'compile) en plus.)
-- Matthieu
eric
Encore moi :)
Déjà, merci : shell-toggle fonctionne bien avec eshell et c'est vraiment pratique.
Il me reste le (add-hook 'shell-toggle-goto-shell-hook '(lambda () (interactive) (insert <??>) (moy-compilation-schedule-execute-in-eshell) ))
dans lequel je n'arrive pas à remplacer <??> par le nom du buffer contenant le source sans l'extension.
J'ai essayé (buffer-name), (buffer-file-name) ...
-- E.Depardieu Une base de TeXtes :<http://base.latekexos.org>
Encore moi :)
Déjà, merci : shell-toggle fonctionne bien avec eshell et c'est
vraiment pratique.
Il me reste le
(add-hook 'shell-toggle-goto-shell-hook
'(lambda () (interactive)
(insert <??>)
(moy-compilation-schedule-execute-in-eshell)
))
dans lequel je n'arrive pas à remplacer <??> par le nom du buffer
contenant le source sans l'extension.
J'ai essayé (buffer-name), (buffer-file-name) ...
--
E.Depardieu
Une base de TeXtes :<http://base.latekexos.org>