diff options
| author | Dmitry Gutov | 2020-06-26 03:41:42 +0300 |
|---|---|---|
| committer | Dmitry Gutov | 2020-06-26 03:43:14 +0300 |
| commit | 96ff641cd90217d4dfa1ab621e3c6a18d409fc76 (patch) | |
| tree | 72150c064340a965c60de7736fbb025b8220e368 | |
| parent | 733921edfebe54488143719fada303d2d5d35b29 (diff) | |
| download | emacs-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.el | 12 |
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. |
| 878 | With 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." |