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

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

[elpa] master 2b54f09: Improve handling of reader errors in el-search-at


From: Michael Heerdegen
Subject: [elpa] master 2b54f09: Improve handling of reader errors in el-search-atom-list
Date: Sat, 31 Dec 2016 17:17:17 +0000 (UTC)

branch: master
commit 2b54f09c3a3f82294fdea876648287fcb416604b
Author: Michael Heerdegen <address@hidden>
Commit: Michael Heerdegen <address@hidden>

    Improve handling of reader errors in el-search-atom-list
---
 packages/el-search/el-search.el |   16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/packages/el-search/el-search.el b/packages/el-search/el-search.el
index 601ce4d..a986516 100644
--- a/packages/el-search/el-search.el
+++ b/packages/el-search/el-search.el
@@ -934,8 +934,13 @@ non-nil else."
                                   (condition-case err
                                       (while t (push (read (current-buffer)) 
forms))
                                     (end-of-file forms)
-                                    (error "Unexpected error whilst reading %s 
position %s: %s"
-                                           buffer (point) err))))))))
+                                    (error
+                                     (message "%s in %S\nat position %d - 
skipping"
+                                              (error-message-string err)
+                                              file-name-or-buffer
+                                              (point))
+                                     (sit-for 3.)
+                                     '()))))))))
         (buffer (if (bufferp file-name-or-buffer)
                     file-name-or-buffer
                   (get-file-buffer file-name-or-buffer))))
@@ -952,9 +957,10 @@ non-nil else."
                                (insert-file-contents file-name-or-buffer))
                              (set-syntax-table emacs-lisp-mode-syntax-table)
                              (funcall get-atoms))))
-            (puthash file-name
-                     (cons (nth 5 (file-attributes file-name)) atom-list)
-                     el-search--atom-list-cache)
+            (when atom-list ;empty in case of error
+              (puthash file-name
+                       (cons (nth 5 (file-attributes file-name)) atom-list)
+                       el-search--atom-list-cache))
             atom-list))))))
 
 (defun el-search--flatten-tree (tree)



reply via email to

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