(autoload 'gnus-cache-total-fetched-for "gnus-cache")
(autoload 'gnus-group-make-search-group "nnselect")
+(autoload 'gnus-group-make-permanent-search-group "nnselect")
(autoload 'gnus-cloud-upload-all-data "gnus-cloud")
(autoload 'gnus-cloud-download-all-data "gnus-cloud")
"f" gnus-group-make-doc-group
"w" gnus-group-make-web-group
"G" gnus-group-make-search-group
+ "g" gnus-group-make-permanent-search-group
"M" gnus-group-read-ephemeral-group
"r" gnus-group-rename-group
"R" gnus-group-make-rss-group
["Make a doc group..." gnus-group-make-doc-group t]
["Make a web group..." gnus-group-make-web-group t]
["Make a search group..." gnus-group-make-search-group t]
+ ["Make a permanent search group..." gnus-group-make-permanent-search-group t]
["Make a virtual group..." gnus-group-make-empty-virtual t]
["Add a group to a virtual..." gnus-group-add-to-virtual t]
["Make an ephemeral group..." gnus-group-read-ephemeral-group t]
(defvar gnus-inhibit-demon)
(defvar gnus-message-group-art)
-;; (defvoo nnselect-artlist nil
+;; (defvar nnselect-artlist nil
;; "Internal: stores the list of articles.")
(declare-function nnir-read-parms "nnir" (search-engine))
(declare-function nnir-server-to-search-engine "nnir" (server))
-(defun gnus-group-make-search-group (nnir-extra-parms &optional specs)
+
+;; Temporary to make group creation easier
+
+(defun gnus-group-make-permanent-search-group (nnir-extra-parms &optional specs)
+ (interactive "P")
+ (gnus-group-make-search-group nnir-extra-parms specs t))
+
+(defun gnus-group-make-search-group (nnir-extra-parms &optional specs perm)
"Create an nnselect group based on a search. Prompt for a
search query and determine the groups to search as follows: if
called from the *Server* buffer search all groups belonging to
(lambda (x)
(nnir-read-parms (nnir-server-to-search-engine (car x))))
group-spec))))))
- (gnus-group-read-ephemeral-group
- (concat "nnselect-" (message-unique-id))
- (list 'nnselect "nnselect")
- nil
- (cons (current-buffer) gnus-current-window-configuration)
-; nil
- nil nil
- (list
- (cons 'nnselect-specs
- (list
- (cons 'nnselect-function 'nnir-run-query)
- (cons 'nnselect-args
- (list (cons 'nnir-query-spec query-spec)
- (cons 'nnir-group-spec group-spec)))))
- (cons 'nnselect-artlist nil)))))
+ (if perm
+ (let ((name (read-string "Group name: " nil)))
+ (gnus-group-make-group
+ name
+ (list 'nnselect "nnselect")
+ nil
+ (list
+ (cons 'nnselect-specs
+ (list
+ (cons 'nnselect-function 'nnir-run-query)
+ (cons 'nnselect-args
+ (list (cons 'nnir-query-spec query-spec)
+ (cons 'nnir-group-spec group-spec))))))))
+ (gnus-group-read-ephemeral-group
+ (concat "nnselect-" (message-unique-id))
+ (list 'nnselect "nnselect")
+ nil
+ (cons (current-buffer) gnus-current-window-configuration)
+ ; nil
+ nil nil
+ (list
+ (cons 'nnselect-specs
+ (list
+ (cons 'nnselect-function 'nnir-run-query)
+ (cons 'nnselect-args
+ (list (cons 'nnir-query-spec query-spec)
+ (cons 'nnir-group-spec group-spec)))))
+ (cons 'nnselect-artlist nil))))))
;; The end.