]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't swallow gnus-search errors when creating nnselect groups
authorEric Abrahamsen <eric@ericabrahamsen.net>
Sat, 4 Dec 2021 21:41:23 +0000 (13:41 -0800)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Sat, 4 Dec 2021 21:41:23 +0000 (13:41 -0800)
* lisp/gnus/gnus-search.el (gnus-search-run-query): Modify
condition-case to re-signal any gnus-search related errors; the user
should see them.
(gnus-search-error): Define a new parent error for all gnus-search
errors.

lisp/gnus/gnus-search.el
lisp/gnus/nnselect.el

index bce5d57c521ab0cbc7dbc157008359065793f34e..c77de688e662befc1af084b1484b659b24f69d61 100644 (file)
 
 (gnus-add-shutdown #'gnus-search-shutdown 'gnus)
 
-(define-error 'gnus-search-parse-error "Gnus search parsing error")
+(define-error 'gnus-search-error "Gnus search error")
 
-(define-error 'gnus-search-config-error "Gnus search configuration error")
+(define-error 'gnus-search-parse-error "Gnus search parsing error"
+              'gnus-search-error)
+
+(define-error 'gnus-search-config-error "Gnus search configuration error"
+              'gnus-search-error)
 
 ;;; User Customizable Variables:
 
@@ -1927,7 +1931,7 @@ Assume \"size\" key is equal to \"larger\"."
              (apply #'nnheader-message 4
                     "Search engine for %s improperly configured: %s"
                     server (cdr err))
-           (signal 'gnus-search-config-error err)))))
+           (signal (car err) (cdr err))))))
      (alist-get 'search-group-spec specs))
     ;; Some search engines do their own limiting, but some don't, so
     ;; do it again here.  This is bad because, if the user is
index ecec705b326fa014b4e0a17e7c78d10bbfcc7ea9..252e9f668380de89892619aca3ce95fec2f9fdf1 100644 (file)
@@ -779,6 +779,10 @@ Return an article list."
        (args (alist-get 'nnselect-args specs)))
     (condition-case-unless-debug err
        (funcall func args)
+      ;; Don't swallow gnus-search errors; the user should be made
+      ;; aware of them.
+      (gnus-search-error
+       (signal (car err) (cdr err)))
       (error (gnus-error 3 "nnselect-run: %s on %s gave error %s" func args err)
             []))))