OVH Cloud OVH Cloud

Démarer emacs sur une page de man depuis le shell

7 réponses
Avatar
nicolas.edel
Bonjour,

je voudrais d=E9marer emacs en lui sp=E9cifiant une page de man/info.
En mode interactif, pas de soucis:
- M-x manual-entry puis je lui donne le nom
- M-x info, etc.
Depuis le shell:
emacs -f info =3D> j'arrive sur l'acceuil de info
emacs -f woman =3D> me demande quelle page de man (mais l'init est
looongue)
emacs -f manual-entry =3D> erreur

Je voudrais pourvoir sp=E9cifier une page de man ou de info, et je ne
vois pas comment faire.
Des id=E9es ?

-Nicolas

7 réponses

Avatar
Luc.Habert.00__arjf
:

je voudrais démarer emacs en lui spécifiant une page de man/info.
En mode interactif, pas de soucis:
- M-x manual-entry puis je lui donne le nom
- M-x info, etc.
Depuis le shell:



emacs --eval='(man "ploum")'
Avatar
Sébastien Kirche
Le 4 décembre 2007 à 11:52, nicolas edel a dit :

Bonjour,



Salut,

je voudrais démarer emacs en lui spécifiant une page de man/info.
En mode interactif, pas de soucis:
- M-x manual-entry puis je lui donne le nom
- M-x info, etc.
Depuis le shell:
emacs -f info => j'arrive sur l'acceuil de info
emacs -f woman => me demande quelle page de man (mais l'init est
looongue)
emacs -f manual-entry => erreur

Je voudrais pourvoir spécifier une page de man ou de info, et je ne
vois pas comment faire.
Des idées ?



avec le paramètre --eval et les fonctions manual-entry et Info-find-node ?

Par exemple emacs --eval '(Info-find-node "Gnus" "Top")'
ou emacs --eval '(manual-entry "top(1)")'

HTH.
--
Sébastien Kirche
Avatar
nicolas.edel
On Dec 4, 12:20 pm, (Luc Habert)
wrote:
:

> je voudrais démarer emacs en lui spécifiant une page de man/info.
> En mode interactif, pas de soucis:
> - M-x manual-entry puis je lui donne le nom
> - M-x info, etc.
> Depuis le shell:

emacs --eval='(man "ploum")'



Super.
Je vais de ce pas regarder plus attentivement le manuel d'emacs à
propos de cette option.
Merci beaucoup.
Avatar
nicolas.edel
On Dec 4, 12:23 pm, Sébastien Kirche
wrote:
avec le paramètre --eval et les fonctions manual-entry et Info-find-node ?

Par exemple emacs --eval '(Info-find-node "Gnus" "Top")'
ou emacs --eval '(manual-entry "top(1)")'



merci
Avatar
nicolas.edel
On Dec 4, 12:20 pm, (Luc Habert)
wrote:
:

> je voudrais démarer emacs en lui spécifiant une page de man/info.
> En mode interactif, pas de soucis:
> - M-x manual-entry puis je lui donne le nom
> - M-x info, etc.
> Depuis le shell:

emacs --eval='(man "ploum")'



Ça fonctionne. Mais comme la fenêtre est splittée en deux buffers et
avec le focus dans le buffer vide, j'essaye la chose suivante:
# emacs --eval='(progn (man "open")(delete-window))'

Mais rien n'y fait. J'ai l'impression que toutes les commandes qui
suivent l'instruction (man "open") sont ignorées, alors que le manuel
dit:
`--eval=expression'
Evaluate Lisp expression expression.
Avatar
Luc.Habert.00__arjf
:

# emacs --eval='(progn (man "open")(delete-window))'



Ça louze parce que la fonction man lance en asynchrone un process qui
formate la page de man, et enregistre un hook qu'emacs lance lorsqu'il
reçoit la sortie du process lancé, lequel hook crée la fenêtre. Ton
delete-window est donc exécuté trop tôt, à un moment où la fenêtre n'est pas
encore créée. Le hook est customisable à l'aide de la variable
Man-notify-method :

emacs -nw --eval='(progn (setq Man-notify-method '''pushy) (man "ls"))'
Avatar
nicolas.edel
On Dec 4, 2:45 pm, (Luc Habert)
wrote:
:

> # emacs --eval='(progn (man "open")(delete-window))'

Ça louze parce que la fonction man lance en asynchrone un process qui
formate la page de man, et enregistre un hook qu'emacs lance lorsqu'il
reçoit la sortie du process lancé, lequel hook crée la fenêtre. To n
delete-window est donc exécuté trop tôt, à un moment où la fen être n'est pas
encore créée. Le hook est customisable à l'aide de la variable
Man-notify-method :

emacs -nw --eval='(progn (setq Man-notify-method '''pushy) (man "ls"))'



bravo, et merci ;)