emacs-diffs
[Top][All Lists]
Advanced

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

master f7be259: Allow editing articles in Gnus nnselect groups


From: Andrew G Cohen
Subject: master f7be259: Allow editing articles in Gnus nnselect groups
Date: Thu, 10 Sep 2020 19:33:24 -0400 (EDT)

branch: master
commit f7be259400b9e31704560d137562e6e9cbf2a0be
Author: Andrew G Cohen <cohen@andy.bu.edu>
Commit: Andrew G Cohen <cohen@andy.bu.edu>

    Allow editing articles in Gnus nnselect groups
    
    * lisp/gnus/nnselect.el (nnselect-request-replace-article): New function.
---
 lisp/gnus/nnselect.el | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el
index 4916286..b976931 100644
--- a/lisp/gnus/nnselect.el
+++ b/lisp/gnus/nnselect.el
@@ -418,6 +418,21 @@ If this variable is nil, or if the provided function 
returns nil,
          to-newsgroup          ; Not respooling
          (gnus-group-real-name to-newsgroup)))))
 
+(deffoo nnselect-request-replace-article
+    (article _group buffer &optional no-encode)
+  (pcase-let ((`[,artgroup ,artnumber ,artrsv]
+              (with-current-buffer gnus-summary-buffer
+                (nnselect-artlist-article gnus-newsgroup-selection article))))
+    (unless (gnus-check-backend-function
+            'request-replace-article artgroup)
+      (user-error "The group %s does not support article editing" artgroup))
+    (let ((newart
+          (gnus-request-replace-article artnumber artgroup buffer no-encode)))
+      (with-current-buffer gnus-summary-buffer
+       (cl-nsubstitute `[,artgroup ,newart ,artrsv]
+                       `[,artgroup ,artnumber ,artrsv]
+                       gnus-newsgroup-selection
+                       :test #'equal :count 1)))))
 
 (deffoo nnselect-request-expire-articles
     (articles _group &optional _server force)



reply via email to

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