Subject: bug#46472: Make lisp/mail/uce.el obsolete

From: Stefan Kangas <[email-masked]>
Date: Sat, 16 Oct 2021 08:48:55 -0400

Eli Zaretskii <[email-masked]> writes:

> This should pop only once per Emacs session, not each time the command
> is invoked.

Thanks, I believe all your comments are fixed in the attached.
From bc85fc30ba94b1166fc526c7bae2b373dcecaa49 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <[email-masked]>
Date: Sat, 16 Oct 2021 14:39:04 +0200
Subject: [PATCH] Recommend against using uce.el

* lisp/mail/uce.el (uce-reply-to-uce): Recommend against its use on
the first invocation.  (Bug#46472)
---
 lisp/mail/uce.el | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/lisp/mail/uce.el b/lisp/mail/uce.el
index b07004de38..4347ff1402 100644
--- a/lisp/mail/uce.el
+++ b/lisp/mail/uce.el
@@ -30,6 +30,9 @@
 ;; uce-reply-to-uce.  Please let me know about your changes so I can
 ;; incorporate them.  I'd appreciate it.
 
+;; NOTE: We don't recommend using this feature; see the message in
+;; 'uce-reply-to-uce' for the reasons.
+
 ;; The command uce-reply-to-uce, if called when the current message
 ;; buffer is a UCE, will setup a reply *mail* buffer as follows.  It
 ;; scans the full headers of the message for: 1) the normal return
@@ -213,6 +216,8 @@ rmail-buffer
 (declare-function rmail-maybe-set-message-counters "rmail" ())
 (declare-function rmail-toggle-header "rmail" (&optional arg))
 
+(defvar uce--usage-warning-displayed nil)
+
 ;;;###autoload
 (defun uce-reply-to-uce (&optional _ignored)
   "Compose a reply to unsolicited commercial email (UCE).
@@ -358,7 +363,32 @@ uce-reply-to-uce
       ;; Run hooks before we leave buffer for editing.  Reasonable usage
       ;; might be to set up special key bindings, replace standard
       ;; functions in mail-mode, etc.
-      (run-hooks 'mail-setup-hook 'uce-setup-hook))))
+      (run-hooks 'mail-setup-hook 'uce-setup-hook)))
+  (unless uce--usage-warning-displayed
+    (setq uce--usage-warning-displayed t)
+    (pop-to-buffer (get-buffer-create "uce-reply-to-uce warning"))
+    (insert "\
+-- !!! NOTE !!! ---------------------------------------------
+
+Replying to spam is at best pointless, but most likely actively
+harmful.
+
+- You will confirm that your email address is valid, thus ensuring
+  you get more spam.
+
+- You will leak information and open yourself up for further
+  attack.  For example, they could use your \"geolocation\" to find
+  your home address and phone number.
+
+- The sender address is likely fake.
+
+- You help them refine their methods of spamming.
+
+Therefore, we strongly recommend that you do not use this package.
+Use a spam filter instead, or just delete the spam.
+
+-------------------------------------------------------------
+")))
 
 (defun uce-insert-ranting (&optional _ignored)
   "Insert text of the usual reply to UCE into current buffer."
-- 
2.30.2