Subject: bug#64117: 28.2; "gnus-request-set-mark: Buffer is read-only" when exiting agentized, unplugged summary buffer

From: Andrew Cohen <[email-masked]>
Date: Wed, 21 Jun 2023 22:22:37 +0800

>>>>> "EZ" == Eli Zaretskii <[email-masked]> writes:

[...]

    EZ> Please show the patch, it is hard to decide without a good idea
    EZ> what is about to change.

Oops, sorry. Here it is (the change just wraps the bulk of a function
with (with-temp-buffer ...))

@@ -118,17 +118,18 @@ nnagent-request-post
   (gnus-request-accept-article "nndraft:queue" nil t t))
 
 (deffoo nnagent-request-set-mark (group action server)
-  (insert "(gnus-agent-synchronize-group-flags \""
-	  group
-	  "\" '")
-  (gnus-pp action)
-  (insert " \""
-	  (gnus-method-to-server gnus-command-method)
-	  "\"")
-  (insert ")\n")
-  (let ((coding-system-for-write nnheader-file-coding-system))
-    (write-region (point-min) (point-max) (gnus-agent-lib-file "flags")
-		  t 'silent))
+  (with-temp-buffer
+    (insert "(gnus-agent-synchronize-group-flags \""
+	    group
+	    "\" '")
+    (gnus-pp action)
+    (insert " \""
+	    (gnus-method-to-server gnus-command-method)
+	    "\"")
+    (insert ")\n")
+    (let ((coding-system-for-write nnheader-file-coding-system))
+      (write-region (point-min) (point-max) (gnus-agent-lib-file "flags")
+		    t 'silent)))
   ;; Also set the marks for the original back end that keeps marks in
   ;; the local system.
   (let ((gnus-agent nil))

-- 
Andrew Cohen