У меня есть функция для сжатия моего PDF-файла с использованием pdftk:
(defun compresspdf (filename)
(interactive)
(let ((tmpfile (concat filename "~")))
(start-process-shell-command "pdftk" nil
(format "pdftk %s cat output %s compress dont_ask"
filename tmpfile))
(rename-file tmpfile filename t)))
Сжимает файл и сохраняет его под тем же именем с добавлением ~
.Однако в тот момент, когда он должен переименовать файл, он выдает ошибку: let: Renaming: No such file or directory, /pathtofile/mypdf.pdf~, /pathtofile/mypdf.pdf
, хотя очевидно, что оба этих файла существуют.Я могу отдельно оценить переименование файла после этого, и он отлично работает.Может быть, он пытается переименовать файл ~
до его фактического создания?В таком случае, как я могу заставить его ждать, пока процесс не закончится?(и возможно проверить на ошибки?)