[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] feature/gnus-select 48dad78: Temporary function to ease se
From: |
Andrew G Cohen |
Subject: |
[Emacs-diffs] feature/gnus-select 48dad78: Temporary function to ease search group creation |
Date: |
Mon, 24 Apr 2017 21:58:42 -0400 (EDT) |
branch: feature/gnus-select
commit 48dad784a211a1b7688048450e008dec3c19c377
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 9fcb3c1..3678abc 100644
--- a/lisp/gnus/gnus-group.el
+++ b/lisp/gnus/gnus-group.el
@@ -50,6 +50,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")
@@ -672,6 +673,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
@@ -918,6 +920,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 24e5b1c..1d7ad90 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-mode-hook nil
"Hook run in `gnus-server-mode' buffers."
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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] feature/gnus-select 48dad78: Temporary function to ease search group creation,
Andrew G Cohen <=