aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Gutov2020-06-26 03:41:42 +0300
committerDmitry Gutov2020-06-26 03:43:14 +0300
commit96ff641cd90217d4dfa1ab621e3c6a18d409fc76 (patch)
tree72150c064340a965c60de7736fbb025b8220e368
parent733921edfebe54488143719fada303d2d5d35b29 (diff)
downloademacs-96ff641cd90217d4dfa1ab621e3c6a18d409fc76.tar.gz
emacs-96ff641cd90217d4dfa1ab621e3c6a18d409fc76.zip
project--read-project-list: Add structure verification
* lisp/progmodes/project.el (project--list): Update docstring. (project--read-project-list): Add structure verification.
-rw-r--r--lisp/progmodes/project.el12
1 files changed, 10 insertions, 2 deletions
diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
index add0e592f69..7e25869e286 100644
--- a/lisp/progmodes/project.el
+++ b/lisp/progmodes/project.el
@@ -874,7 +874,8 @@ Certain buffers may be \"spared\", see `project-kill-buffers-ignores'."
874 :group 'project) 874 :group 'project)
875 875
876(defvar project--list 'unset 876(defvar project--list 'unset
877 "List of known project directories.") 877 "List structure containing root directories of known projects.
878With some possible metadata (to be decided).")
878 879
879(defun project--read-project-list () 880(defun project--read-project-list ()
880 "Initialize `project--list' using contents of `project-list-file'." 881 "Initialize `project--list' using contents of `project-list-file'."
@@ -883,7 +884,14 @@ Certain buffers may be \"spared\", see `project-kill-buffers-ignores'."
883 (when (file-exists-p filename) 884 (when (file-exists-p filename)
884 (with-temp-buffer 885 (with-temp-buffer
885 (insert-file-contents filename) 886 (insert-file-contents filename)
886 (read (current-buffer))))))) 887 (read (current-buffer)))))
888 (unless (seq-every-p
889 (lambda (elt) (and (listp elt)
890 (stringp (car elt))))
891 project--list)
892 (warn "Contents of %s are in wrong format, resetting"
893 project-list-file)
894 (setq project--list nil))))
887 895
888(defun project--ensure-read-project-list () 896(defun project--ensure-read-project-list ()
889 "Initialize `project--list' if it isn't already initialized." 897 "Initialize `project--list' if it isn't already initialized."