emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/pacmacs 9b2c497eb9 431/472: Handle error during level list


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs 9b2c497eb9 431/472: Handle error during level list loading (#191)
Date: Thu, 6 Jan 2022 21:59:46 -0500 (EST)

branch: elpa/pacmacs
commit 9b2c497eb9ae0f28a7c9e97743bee80084bc58e7
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>

    Handle error during level list loading (#191)
---
 pacmacs.el | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/pacmacs.el b/pacmacs.el
index dcaa942f0c..8390881d70 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -123,6 +123,12 @@
   (setq pacmacs-lives 3)
   (setq pacmacs-score 0)
   (setq pacmacs-levels (pacmacs--get-list-of-levels))
+
+  (when (zerop (length pacmacs-levels))
+    (error (concat "`%s' doesn't contain levels. Nothing to play. "
+                   "Customize `pacmacs-levels-folder' accordingly")
+           (pacmacs--get-levels-folder)))
+
   (setq pacmacs-current-level 0)
 
   (pacmacs--load-current-level)
@@ -707,8 +713,17 @@
   (when (equal pacmacs-game-state 'play)
     (setq pacmacs-play-pause (not pacmacs-play-pause))))
 
+(defun pacmacs--get-levels-folder ()
+  (if pacmacs-levels-folder
+      pacmacs-levels-folder
+    (pacmacs--find-resource-file "./maps/")))
+
 (defun pacmacs--get-list-of-levels ()
-  (->> (directory-files (pacmacs--find-resource-file "./maps/"))
+  (->> (condition-case err
+           (directory-files (pacmacs--get-levels-folder))
+         (file-error (error (concat "Error during loading levels: `%s'. "
+                                    "Customize `pacmacs-levels-folder' 
accordingly.")
+                            err)))
        (-map #'pacmacs--levelname-from-filename)
        (-remove #'null)
        (-sort #'string-lessp)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]