ouverture d'emacs avec 3 nom de fichiers en parrametre

Le
Bruno-L
Salut tout le monde,

J'arrive au départ d'AutoCAD qui parle lisp lui aussi (enfin presque
;-), à ouvrir un emacs en lui indiquant deux fichiers comme ceci:

(startapp path-to-emacs (strcat """ file1 "" "" file2 """))

strcat = concat, les """ permet d'avoir des espaces dans le nom des
fichiers.

emacs s'ouvre, se divise en deux fenetres et y affiche ces deux
fichiers.;; magnifique ;-)

mais lorsque je demande, par la même voie à emacs d'ouvrir un troisième
fichier, il ne se divise qu'en deux fenetres (au lieu de trois comme
j'imaginais) et mets la liste des buffers dans l'une d'elles.

or je voudrais qu'il ouvre 3 fenêtres et y insere les 3 fichiers passés
en parrametres. comment faire ?

merci d'avance




--
Bruno <http://bluesilk.be>

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Bruno-L
Le #21810701
Bruno-L a écrit :


(startapp path-to-emacs (strcat """ file1 "" "" file2 """))

or je voudrais qu'il ouvre 3 fenêtres et y insere les 3 fichiers passés
en parrametres. comment faire ?




merci à tous les deux,
j'ai plutot pondu ceci (les boucles loop sont pas dispo sous autocad, je
ne vais donc pas m'y intéresser):

(defun c:confi ()
(startapp
*emacs*
(strcat
""" *default-conf* """
" "" *local-conf* """
" "" *file-conf* """
" --eval "(setq buff (remove 'nil (mapcar '(lambda (x) (if
(buffer-file-name x) x)) (buffer-list))))""
" --eval "(delete-other-windows)""
" --eval "(switch-to-buffer (car buff))""
" --eval "(mapcar '(lambda (x) (split-window-vertically)
(switch-to-buffer x) (balance-windows)) (cdr buff))""
)
)
)

largement inspiré de Pascal Bourguignon (merci à lui)

--
Bruno
Florent Georges
Le #21810671
Bruno-L wrote:

j'ai plutot pondu ceci (les boucles loop sont pas dispo sous autocad, je
ne vais donc pas m'y intéresser):



C'est une forme speciale Common Lisp. Mais ce n'est pas evalue dans
autocad mais bien dans Emacs. Et c'est une forme, mmh, interessante.

" --eval "(setq buff (remove 'nil (mapcar '(lambda (x) (if
(buffer-file-name x) x)) (buffer-list))))""
" --eval "(delete-other-windows)""
" --eval "(switch-to-buffer (car buff))""
" --eval "(mapcar '(lambda (x) (split-window-vertically)
(switch-to-buffer x) (balance-windows)) (cdr buff))""



Personnellement, j'aime la methode de Pascal d'utiliser un progn
definissant une fonction et l'appelant. Ou au moins un progn. Mais
une sequence d'arguments --eval ...

--drkm
Bruno-L
Le #21810641
Florent Georges a écrit :

Personnellement, j'aime la methode de Pascal d'utiliser un progn
definissant une fonction et l'appelant. Ou au moins un progn. Mais
une sequence d'arguments --eval ...



entièrement d'accord avec toi!
et d'ailleurs l'ouverture d'emacs est plus rapide
merci ;-)


--drkm





--
Bruno
Poster une réponse
Anonyme