Если я пытаюсь запустить команду оболочки в функции Emacs Lisp, в которой я вызываю rsync
(или scp
) несколько раз, какой вариант команды оболочки мне следует использовать? В настоящее время я использую shell-command
, который блокирует Emacs до завершения процесса, и вывод, который должен быть виден с --verbose
до rsync
, не печатается; Я могу использовать shell-command
с &
в конце командной строки, чтобы сделать ее асинхронной, которая печатает ход выполнения - но, хотя он не «полностью блокирует» Emacs, минибуфер неоднократно спрашивает, хочу ли я убить процесс, который наносит урон тем временем; и start-process-shell-command
, который, по-видимому, останавливает функцию только после передачи первого файла / каталога; пренебрегая остальными, когда через мою функцию совершено несколько вызовов rsync
. Ничто из этого не кажется идеальным, есть намеки?