2 votes

Copie asynchrone de fichier et copie de répertoire en Emacs-Lisp ?

Existe-t-il des fonctions pour Emacs Lisp qui peut copier des fichiers et des répertoires (avec prise en charge de l'option TRAMP ) et le fait de manière asynchrone ?

Mon problème est que (copy-file) y (copy-directory) bloque mon rédacteur en chef jusqu'à ce qu'il ait fini et si je le fais par dessus TRAMP avec un serveur distant, cela prend environ 5 à 10 secondes avant que je puisse procéder.

2voto

cjohansson Points 591

J'ai trouvé la réponse à cette question moi-même, j'utilise emacs-async comme ça :

(async-start
    `(lambda()
        (copy-file ,local ,remote-path t t)
        ,local)
    (lambda(return-path)
        (message "Upload '%s' finished" return-path))))

Placez vos chemins dans les variables local y remote-path . Pour les répertoires, il suffit de changer (copy-file) a (copy-directory) .

Je pense aussi que vous pouvez utiliser emacs-deferred aussi, mais je ne l'ai pas encore essayé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X