From 7c3d3fa44e666b71881c34afa3d357feec758ec0 Mon Sep 17 00:00:00 2001 From: Philip Kaludercic Date: Fri, 11 Nov 2022 00:09:46 +0100 Subject: [PATCH] Improve robustness of documentation generation * lisp/emacs-lisp/package-vc.el (package-vc--build-documentation): Log output and display error messages if anything goes wrong. --- lisp/emacs-lisp/package-vc.el | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el index d9b335f1cff..7fed1b5885e 100644 --- a/lisp/emacs-lisp/package-vc.el +++ b/lisp/emacs-lisp/package-vc.el @@ -355,10 +355,8 @@ asynchronously." FILE can be an Org file, indicated by its \".org\" extension, otherwise it's assumed to be an Info file." (let* ((pkg-name (package-desc-name pkg-desc)) - (pkg-dir (package-desc-dir pkg-desc)) - (output (file-name-concat - (format "%s.info" pkg-name) - pkg-dir))) + (default-directory (package-desc-dir pkg-desc)) + (output (expand-file-name (format "%s.info" pkg-name)))) (when (string-match-p "\\.org\\'" file) (require 'ox) (require 'ox-texinfo) @@ -366,10 +364,18 @@ otherwise it's assumed to be an Info file." (insert-file-contents file) (setq file (make-temp-file "ox-texinfo-")) (org-export-to-file 'texinfo file))) - (call-process "makeinfo" nil nil nil - "--no-split" file "-o" output) - (call-process "install-info" nil nil nil - output pkg-dir))) + (with-current-buffer (get-buffer-create " *package-vc doc*") + (erase-buffer) + (cond + ((/= 0 (call-process "makeinfo" nil t nil + "--no-split" file "-o" output)) + (message "Failed to build manual %s, see buffer %S" + file (buffer-name))) + ((/= 0 (call-process "install-info" nil t nil + output (expand-file-name "dir"))) + (message "Failed to install manual %s, see buffer %S" + output (buffer-name))) + ((kill-buffer)))))) (defun package-vc--unpack-1 (pkg-desc pkg-dir) "Prepare PKG-DESC that is already checked-out in PKG-DIR. -- 2.39.2