[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] feature/gnus-select2 514f0cb 04/32: Temporary function to
From: |
Andrew G Cohen |
Subject: |
[Emacs-diffs] feature/gnus-select2 514f0cb 04/32: Temporary function to ease search group creation |
Date: |
Sun, 16 Dec 2018 06:54:00 -0500 (EST) |
branch: feature/gnus-select2
commit 514f0cbac33d199216d96749497914f5954b720e
Author: Andrew G Cohen <address@hidden>
Commit: Andrew G Cohen <address@hidden>
Temporary function to ease search group creation
* lisp/gnus/nnselect.el (gnus-group-make-permanent-search-group):
(gnus-group-make-search-group): Allow permanent group creation.
* lisp/gnus/gnus-group.el (gnus-group-group-map): Bind it to "G g" in
the group buffer.
---
lisp/gnus/gnus-group.el | 3 +++
lisp/gnus/gnus-srvr.el | 1 +
lisp/gnus/nnselect.el | 54 +++++++++++++++++++++++++++++++++----------------
3 files changed, 41 insertions(+), 17 deletions(-)
diff --git a/lisp/gnus/gnus-group.el b/lisp/gnus/gnus-group.el
index c799550..a7676ee 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -49,6 +49,7 @@
(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")
@@ -669,6 +670,7 @@ simple manner."
"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
@@ -915,6 +917,7 @@ simple manner."
["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]
diff --git a/lisp/gnus/gnus-srvr.el b/lisp/gnus/gnus-srvr.el
index 05f9f74..617db40 100644
--- a/lisp/gnus/gnus-srvr.el
+++ b/lisp/gnus/gnus-srvr.el
@@ -35,6 +35,7 @@
(require 'gnus-cloud)
(autoload 'gnus-group-make-search-group "nnselect")
+(autoload 'gnus-group-make-permanent-search-group "nnselect")
(defcustom gnus-server-exit-hook nil
"Hook run when exiting the server buffer."
diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index 89255ee..095597a 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -71,7 +71,7 @@
(defvar gnus-inhibit-demon)
(defvar gnus-message-group-art)
-;; (defvoo nnselect-artlist nil
+;; (defvar nnselect-artlist nil
;; "Internal: stores the list of articles.")
@@ -721,7 +721,14 @@ originating groups."
(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
@@ -753,21 +760,34 @@ non-nil `specs' arg must be an alist with
`nnir-query-spec' and
(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.
- [Emacs-diffs] feature/gnus-select2 f3fd674 06/32: Restore article retrieval by message-id in nnselect, (continued)
- [Emacs-diffs] feature/gnus-select2 f3fd674 06/32: Restore article retrieval by message-id in nnselect, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 b51a495 07/32: Restore article retrieval by message-id in nnselect, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 8e7635b 05/32: Fix requesting sparse articles in gnus, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 5be0d2a 12/32: Disable nnselect-server-opened check, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 f43d8d8 23/32: * lisp/gnus/nnselect.el (nnselect-request-group): Don't close group., Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 c1c5b4b 08/32: Introduce summary-local variable gnus-newsgroup-selection, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 e5ea691 17/32: Use gnus-newsgroup-selection instead of nnselect-artlist, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 1388539 11/32: Improve nnselect-request-article, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 7df041f 10/32: Remove unnecessary check gnus-nnselect-group-p, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 c87252e 15/32: New gnus summary sorting functions on rsv, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 514f0cb 04/32: Temporary function to ease search group creation,
Andrew G Cohen <=
- [Emacs-diffs] feature/gnus-select2 3444486 16/32: Fix pushing marks on nnselect exit, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 fde0e40 21/32: Restore accidentally remove gnus-summary-make-search-group, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 d2e0389 19/32: Improve group-info handling in nnselect, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 6111aa1 09/32: Don't stomp on local variables in gnus-msg, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 c9c16c9 22/32: * lisp/gnus/nnselect.el (nnselect-server-opened): Just return t., Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 2174d0f 20/32: Improve nnselect-request-article, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 8ad88ac 24/32: * lisp/gnus/nnselect.el (nnselect-request-rename-group): Allow it., Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 73c0da2 27/32: Improve search and select group creation, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 fe5f3c2 32/32: Set gnus-newsgroup-selection in the summary buffer, Andrew G Cohen, 2018/12/16
- [Emacs-diffs] feature/gnus-select2 5868104 30/32: Allow automatic scanning of nnselect groups, Andrew G Cohen, 2018/12/16