From 25ac752de290deac6387df4b912b2b75355979ae Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 10 Aug 2022 13:16:08 +0200 Subject: [PATCH] fix(cli): file-missing error on comp-el-to-eln-filename If you've moved $EMACSDIR, comp-el-to-eln-filename will throw errors about missing directories/files, rendering 'doom sync' ineffective and forcing the user to delete $EMACSDIR and reinstall Doom. --- lisp/cli/packages.el | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/lisp/cli/packages.el b/lisp/cli/packages.el index fda5886a0..d7da8e815 100644 --- a/lisp/cli/packages.el +++ b/lisp/cli/packages.el @@ -189,20 +189,19 @@ list remains lean." (defun doom-packages--eln-file-outdated-p (file) "Check whether the corresponding .eln for `file' is outdated." - (let* ((eln-name (doom-packages--eln-file-name file)) - (eln-file (doom-packages--find-eln-file eln-name)) - (error-file (doom-packages--eln-error-file eln-name))) - (cond (eln-file - (when (file-newer-than-file-p file eln-file) - (doom-log "%s is newer than %s" file eln-file) - t)) - ((file-exists-p error-file) - (when (file-newer-than-file-p file error-file) - (doom-log "%s is newer than %s" file error-file) - t)) - (t - (doom-log "%s doesn't exist" eln-name) - t)))) + (when (file-exists-p file) + (let* ((eln-name (doom-packages--eln-file-name file)) + (eln-file (doom-packages--find-eln-file eln-name)) + (error-file (doom-packages--eln-error-file eln-name))) + (cond (eln-file + (when (file-newer-than-file-p file eln-file) + (doom-log "%s is newer than %s" file eln-file) + t)) + ((file-exists-p error-file) + (when (file-newer-than-file-p file error-file) + (doom-log "%s is newer than %s" file error-file) + t)) + ((always (doom-log "%s doesn't exist" eln-name))))))) (defun doom-packages--native-compile-done-h (file) "Callback fired when an item has finished async compilation."