From 667e002e91a26c20089c5843254a39b771b64ab7 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 23 Mar 2021 01:00:56 -0400 Subject: * lisp/mh-e: Enable lexical-binding in all the files * lisp/mh-e/mh-alias.el: Use lexical-binding. (mh-alias-insert-file): Completion tables can be mere lists of strings. * lisp/mh-e/mh-mime.el: Use lexical-binding. (mh-mm-inline-message): Remove always-nil var `visible-headers`. * lisp/mh-e/mh-search.el: Use lexical-binding. (mh-search-folder): Remove unused var `pick-folder`. * lisp/mh-e/mh-show.el: Use lexical-binding. (mh-display-msg): Remove always-nil var `visible-headers`. * lisp/mh-e/mh-utils.el: Use lexical-binding. (completion-root-regexp): Always declare var. * lisp/mh-e/mh-buffers.el: Use lexical-binding. * lisp/mh-e/mh-comp.el: Use lexical-binding. * lisp/mh-e/mh-folder.el: Use lexical-binding. * lisp/mh-e/mh-funcs.el: Use lexical-binding. * lisp/mh-e/mh-gnus.el: Use lexical-binding. * lisp/mh-e/mh-identity.el: Use lexical-binding. * lisp/mh-e/mh-inc.el: Use lexical-binding. * lisp/mh-e/mh-junk.el: Use lexical-binding. * lisp/mh-e/mh-letter.el: Use lexical-binding. * lisp/mh-e/mh-limit.el: Use lexical-binding. * lisp/mh-e/mh-print.el: Use lexical-binding. * lisp/mh-e/mh-scan.el: Use lexical-binding. * lisp/mh-e/mh-seq.el: Use lexical-binding. * lisp/mh-e/mh-speed.el: Use lexical-binding. * lisp/mh-e/mh-thread.el: Use lexical-binding. * lisp/mh-e/mh-tool-bar.el: Use lexical-binding. * lisp/mh-e/mh-xface.el: Use lexical-binding. --- lisp/mh-e/mh-junk.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lisp/mh-e/mh-junk.el') diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index b49c6322492..5a407947a0b 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el @@ -1,4 +1,4 @@ -;;; mh-junk.el --- MH-E interface to anti-spam measures +;;; mh-junk.el --- MH-E interface to anti-spam measures -*- lexical-binding: t; -*- ;; Copyright (C) 2003-2021 Free Software Foundation, Inc. -- cgit v1.2.3 From 289ec2d911c0a723c0c131ac9cf3407c71a4b15c Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Fri, 16 Apr 2021 14:28:10 +0200 Subject: ; Remove some useless comments --- lisp/align.el | 2 -- lisp/allout-widgets.el | 1 - lisp/allout.el | 1 - lisp/autorevert.el | 1 - lisp/bs.el | 1 - lisp/cus-edit.el | 2 -- lisp/cus-face.el | 2 -- lisp/custom.el | 2 -- lisp/emacs-lisp/faceup.el | 5 ----- lisp/emacs-lisp/lisp-mnt.el | 5 ----- lisp/emacs-lisp/ring.el | 2 -- lisp/expand.el | 1 - lisp/filecache.el | 4 ---- lisp/filenotify.el | 1 - lisp/gnus/gnus-cus.el | 2 -- lisp/gnus/gnus-diary.el | 5 ----- lisp/gnus/gnus-registry.el | 2 -- lisp/gnus/nnselect.el | 1 - lisp/icomplete.el | 1 - lisp/language/thai-word.el | 2 +- lisp/mh-e/mh-acros.el | 2 -- lisp/mh-e/mh-alias.el | 2 -- lisp/mh-e/mh-buffers.el | 2 -- lisp/mh-e/mh-comp.el | 2 -- lisp/mh-e/mh-compat.el | 2 -- lisp/mh-e/mh-folder.el | 2 -- lisp/mh-e/mh-funcs.el | 2 -- lisp/mh-e/mh-gnus.el | 2 -- lisp/mh-e/mh-identity.el | 2 -- lisp/mh-e/mh-inc.el | 2 -- lisp/mh-e/mh-junk.el | 2 -- lisp/mh-e/mh-letter.el | 2 -- lisp/mh-e/mh-limit.el | 2 -- lisp/mh-e/mh-mime.el | 2 -- lisp/mh-e/mh-print.el | 2 -- lisp/mh-e/mh-scan.el | 2 -- lisp/mh-e/mh-search.el | 2 -- lisp/mh-e/mh-seq.el | 2 -- lisp/mh-e/mh-show.el | 2 -- lisp/mh-e/mh-speed.el | 2 -- lisp/mh-e/mh-thread.el | 2 -- lisp/mh-e/mh-tool-bar.el | 2 -- lisp/mh-e/mh-utils.el | 2 -- lisp/mh-e/mh-xface.el | 2 -- lisp/net/ange-ftp.el | 4 ---- lisp/obsolete/fast-lock.el | 2 -- lisp/obsolete/lazy-lock.el | 2 -- lisp/obsolete/nnir.el | 1 - lisp/obsolete/sregex.el | 4 +--- lisp/progmodes/glasses.el | 4 ---- lisp/progmodes/meta-mode.el | 3 --- lisp/progmodes/python.el | 2 -- lisp/speedbar.el | 1 - lisp/textmodes/bibtex-style.el | 1 - lisp/textmodes/bibtex.el | 3 --- lisp/textmodes/makeinfo.el | 1 - lisp/textmodes/page.el | 2 -- lisp/textmodes/tex-mode.el | 1 - lisp/textmodes/texinfmt.el | 6 ++---- lisp/textmodes/texnfo-upd.el | 2 -- lisp/textmodes/tildify.el | 2 -- lisp/uniquify.el | 2 -- lisp/vc/vc-hg.el | 4 ---- lisp/widget.el | 2 -- test/manual/cedet/tests/test.el | 3 --- 65 files changed, 4 insertions(+), 139 deletions(-) (limited to 'lisp/mh-e/mh-junk.el') diff --git a/lisp/align.el b/lisp/align.el index 7ae067f8c53..a0b626a5c43 100644 --- a/lisp/align.el +++ b/lisp/align.el @@ -1587,8 +1587,6 @@ aligner would have dealt with are." (if report (message "Aligning...done")))) -;; Provide: - (provide 'align) (run-hooks 'align-load-hook) diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el index 931dfbc961e..90f3f61b363 100644 --- a/lisp/allout-widgets.el +++ b/lisp/allout-widgets.el @@ -2290,7 +2290,6 @@ The elements of LIST are not copied, just the list structure itself." (define-obsolete-function-alias 'allout-frame-property #'frame-parameter "28.1") -;;;_ : provide (provide 'allout-widgets) ;;;_ . Local emacs vars. diff --git a/lisp/allout.el b/lisp/allout.el index f50f5fd4b2c..1605ce2ce33 100644 --- a/lisp/allout.el +++ b/lisp/allout.el @@ -6457,7 +6457,6 @@ If BEG is bigger than END we return 0." (isearch-repeat 'forward) (isearch-mode t))) -;;;_ #11 Provide (provide 'allout) ;;;_* Local emacs vars. diff --git a/lisp/autorevert.el b/lisp/autorevert.el index 1bb40c90ff5..edd4c7e5e45 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el @@ -937,7 +937,6 @@ the timer when no buffers need to be checked." (cancel-timer auto-revert-timer)) (setq auto-revert-timer nil))))) -;; The end: (provide 'autorevert) (run-hooks 'auto-revert-load-hook) diff --git a/lisp/bs.el b/lisp/bs.el index 154e3599f33..494bc426188 100644 --- a/lisp/bs.el +++ b/lisp/bs.el @@ -1504,7 +1504,6 @@ name of buffer configuration." ;; continue standard unloading nil) -;; Now provide feature bs (provide 'bs) ;;; bs.el ends here diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index dde6e8997bf..7627930c4c8 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -5155,8 +5155,6 @@ if that value is non-nil." (put 'Custom-mode 'mode-class 'special) -;;; The End. - (provide 'cus-edit) ;;; cus-edit.el ends here diff --git a/lisp/cus-face.el b/lisp/cus-face.el index 21fe89c6214..6c0052bf860 100644 --- a/lisp/cus-face.el +++ b/lisp/cus-face.el @@ -395,8 +395,6 @@ This means reset FACE to its value in FROM-THEME." (define-obsolete-function-alias 'custom-facep #'facep "28.1") -;;; The End. - (provide 'cus-face) ;;; cus-face.el ends here diff --git a/lisp/custom.el b/lisp/custom.el index 85e5d65ffb2..2c9eadbd479 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -1623,8 +1623,6 @@ If a choice with the same tag already exists, no action is taken." (put variable 'custom-type (append choices (list choice)))))) -;;; The End. - (provide 'custom) ;;; custom.el ends here diff --git a/lisp/emacs-lisp/faceup.el b/lisp/emacs-lisp/faceup.el index 6c3931f9829..162c39634ed 100644 --- a/lisp/emacs-lisp/faceup.el +++ b/lisp/emacs-lisp/faceup.el @@ -1170,11 +1170,6 @@ Intended to be called when a file is loaded." ;; File is being evaluated using, for example, `eval-buffer'. default-directory))) - -;; ---------------------------------------------------------------------- -;; The end -;; - (provide 'faceup) ;;; faceup.el ends here diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el index 6d9c8c32794..73a33a553fb 100644 --- a/lisp/emacs-lisp/lisp-mnt.el +++ b/lisp/emacs-lisp/lisp-mnt.el @@ -109,11 +109,6 @@ ;; * Footer line --- marks end-of-file so it can be distinguished from ;; an expanded formfeed or the results of truncation. -;;; Change Log: - -;; Tue Jul 14 23:44:17 1992 ESR -;; * Created. - ;;; Code: ;;; Variables: diff --git a/lisp/emacs-lisp/ring.el b/lisp/emacs-lisp/ring.el index 96894655b45..ea27bb3c31b 100644 --- a/lisp/emacs-lisp/ring.el +++ b/lisp/emacs-lisp/ring.el @@ -248,8 +248,6 @@ If SEQ is already a ring, return it." (ring-insert-at-beginning ring (elt seq count)))) ring))) -;;; provide ourself: - (provide 'ring) ;;; ring.el ends here diff --git a/lisp/expand.el b/lisp/expand.el index d11ae7c5263..1b722014f89 100644 --- a/lisp/expand.el +++ b/lisp/expand.el @@ -484,7 +484,6 @@ This is used only in conjunction with `expand-add-abbrevs'." (provide 'expand) -;; run load hooks (run-hooks 'expand-load-hook) ;;; expand.el ends here diff --git a/lisp/filecache.el b/lisp/filecache.el index 67d2939dd3c..62184e1a0ae 100644 --- a/lisp/filecache.el +++ b/lisp/filecache.el @@ -674,10 +674,6 @@ match REGEXP." (insert (nth 1 item) (nth 0 item) "\n")) (pop-to-buffer buf)))) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Keybindings -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - (provide 'filecache) ;;; filecache.el ends here diff --git a/lisp/filenotify.el b/lisp/filenotify.el index 07871bb0b64..4fc7f0a8ec0 100644 --- a/lisp/filenotify.el +++ b/lisp/filenotify.el @@ -505,7 +505,6 @@ DESCRIPTOR should be an object returned by `file-notify-add-watch'." ;; due to the way events are propagated during idle time. Note: This ;; may be perfectly acceptable. -;; The end: (provide 'filenotify) ;;; filenotify.el ends here diff --git a/lisp/gnus/gnus-cus.el b/lisp/gnus/gnus-cus.el index 0852f8e1264..e7af94ff509 100644 --- a/lisp/gnus/gnus-cus.el +++ b/lisp/gnus/gnus-cus.el @@ -1102,8 +1102,6 @@ articles in the thread. (widget-setup) (buffer-enable-undo)))) -;;; The End: - (provide 'gnus-cus) ;;; gnus-cus.el ends here diff --git a/lisp/gnus/gnus-diary.el b/lisp/gnus/gnus-diary.el index 64eb639f61c..e2cbca9007d 100644 --- a/lisp/gnus/gnus-diary.el +++ b/lisp/gnus/gnus-diary.el @@ -32,11 +32,6 @@ ;; gnus-diary is a utility toolkit used on top of the nndiary back end. It is ;; now fully documented in the Gnus manual. - -;; Bugs / Todo: -;; =========== - - ;;; Code: (require 'nndiary) diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index 6ac646fbeac..11b6f7ddf07 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el @@ -1298,8 +1298,6 @@ from your existing entries." (gnus-registry-insert db k newv))) (registry-reindex db)))) -;; TODO: a few things - (provide 'gnus-registry) ;;; gnus-registry.el ends here diff --git a/lisp/gnus/nnselect.el b/lisp/gnus/nnselect.el index e314e1d8d10..5ac4c3a64e1 100644 --- a/lisp/gnus/nnselect.el +++ b/lisp/gnus/nnselect.el @@ -968,7 +968,6 @@ Pass NO-PARSE on to the search engine." (gnus-group-make-search-group no-parse spec))) -;; The end. (provide 'nnselect) ;;; nnselect.el ends here diff --git a/lisp/icomplete.el b/lisp/icomplete.el index d5b6f76d7b2..91bbb600136 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -837,7 +837,6 @@ matches exist." ;;;###autoload (make-obsolete 'iswitchb-mode ;;;###autoload "use `icomplete-mode' or `ido-mode' instead." "24.4")) -;;;_* Provide (provide 'icomplete) ;;_* Local emacs vars. diff --git a/lisp/language/thai-word.el b/lisp/language/thai-word.el index ff1e80298ba..7a09bc3a24a 100644 --- a/lisp/language/thai-word.el +++ b/lisp/language/thai-word.el @@ -11074,4 +11074,4 @@ With argument, do this that many times." ;; coding: utf-8 ;; End: -;; end of thai-word.el +;; thai-word.el ends here diff --git a/lisp/mh-e/mh-acros.el b/lisp/mh-e/mh-acros.el index dd953ee9df7..8fdcf3c62b4 100644 --- a/lisp/mh-e/mh-acros.el +++ b/lisp/mh-e/mh-acros.el @@ -36,8 +36,6 @@ ;; because it's pointless to compile a file full of macros. But we ;; kept the name. -;;; Change Log: - ;;; Code: (require 'cl-lib) diff --git a/lisp/mh-e/mh-alias.el b/lisp/mh-e/mh-alias.el index 67c019aa179..415e9848258 100644 --- a/lisp/mh-e/mh-alias.el +++ b/lisp/mh-e/mh-alias.el @@ -24,8 +24,6 @@ ;;; Commentary: -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-buffers.el b/lisp/mh-e/mh-buffers.el index a32f61c82eb..ef21fdb2f95 100644 --- a/lisp/mh-e/mh-buffers.el +++ b/lisp/mh-e/mh-buffers.el @@ -24,8 +24,6 @@ ;;; Commentary: -;;; Change Log: - ;;; Code: ;; The names of ephemeral buffers have a " *mh-" prefix (so that they diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el index c1cd6c1a9e2..b64bbfb6f3b 100644 --- a/lisp/mh-e/mh-comp.el +++ b/lisp/mh-e/mh-comp.el @@ -29,8 +29,6 @@ ;; that are used to send the mail. Other that those, functions that ;; are needed in mh-letter.el should be found there. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-compat.el b/lisp/mh-e/mh-compat.el index 0363c5aadac..ade80e8b95e 100644 --- a/lisp/mh-e/mh-compat.el +++ b/lisp/mh-e/mh-compat.el @@ -23,8 +23,6 @@ ;;; Commentary: -;;; Change Log: - ;;; Code: ;; This is a good place to gather code that is used for compatibility diff --git a/lisp/mh-e/mh-folder.el b/lisp/mh-e/mh-folder.el index 2e288064f16..ce77f9c0971 100644 --- a/lisp/mh-e/mh-folder.el +++ b/lisp/mh-e/mh-folder.el @@ -25,8 +25,6 @@ ;; Mode for browsing folders -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-funcs.el b/lisp/mh-e/mh-funcs.el index 38ba43188da..0e5ffc9a42c 100644 --- a/lisp/mh-e/mh-funcs.el +++ b/lisp/mh-e/mh-funcs.el @@ -30,8 +30,6 @@ ;; small support routines are needed, place them with the function; ;; otherwise, create a separate section for them. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-gnus.el b/lisp/mh-e/mh-gnus.el index ac46cc63fcc..cc60f7b6640 100644 --- a/lisp/mh-e/mh-gnus.el +++ b/lisp/mh-e/mh-gnus.el @@ -24,8 +24,6 @@ ;;; Commentary: -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-identity.el b/lisp/mh-e/mh-identity.el index aeab0497562..ceede0d07cb 100644 --- a/lisp/mh-e/mh-identity.el +++ b/lisp/mh-e/mh-identity.el @@ -33,8 +33,6 @@ ;; in MH-Letter mode. The command `mh-insert-identity' can be used ;; to manually insert an identity. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-inc.el b/lisp/mh-e/mh-inc.el index 6a29195afbb..83cfe4f99f1 100644 --- a/lisp/mh-e/mh-inc.el +++ b/lisp/mh-e/mh-inc.el @@ -28,8 +28,6 @@ ;; inc can also be used to incorporate mail from multiple spool files ;; into separate folders. See "C-h v mh-inc-spool-list". -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index 5a407947a0b..e50bf8df50c 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el @@ -26,8 +26,6 @@ ;; Spam handling in MH-E. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-letter.el b/lisp/mh-e/mh-letter.el index 59790181c4d..ae5b80d5807 100644 --- a/lisp/mh-e/mh-letter.el +++ b/lisp/mh-e/mh-letter.el @@ -31,8 +31,6 @@ ;; mh-utils.el. That will help prevent the loading of this file until ;; a message is actually composed. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-limit.el b/lisp/mh-e/mh-limit.el index 08f1b4093f1..39cf7c5d271 100644 --- a/lisp/mh-e/mh-limit.el +++ b/lisp/mh-e/mh-limit.el @@ -25,8 +25,6 @@ ;; "Poor man's threading" by psg. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-mime.el b/lisp/mh-e/mh-mime.el index fec2293ff1f..ef702525b7b 100644 --- a/lisp/mh-e/mh-mime.el +++ b/lisp/mh-e/mh-mime.el @@ -36,8 +36,6 @@ ;; MIME option to mh-forward command to move to content-description ;; insertion point. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-print.el b/lisp/mh-e/mh-print.el index d084cf63e97..2074ff6f8f3 100644 --- a/lisp/mh-e/mh-print.el +++ b/lisp/mh-e/mh-print.el @@ -24,8 +24,6 @@ ;;; Commentary: -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-scan.el b/lisp/mh-e/mh-scan.el index f00ab22958a..15049793adf 100644 --- a/lisp/mh-e/mh-scan.el +++ b/lisp/mh-e/mh-scan.el @@ -27,8 +27,6 @@ ;; This file contains constants and a few functions for interpreting ;; scan lines. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el index cb8f8e34558..9df7c326564 100644 --- a/lisp/mh-e/mh-search.el +++ b/lisp/mh-e/mh-search.el @@ -39,8 +39,6 @@ ;; documentation will direct you to the specific instructions for ;; your particular searcher. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-seq.el b/lisp/mh-e/mh-seq.el index 9b9675c78e1..9cdf39f7f1e 100644 --- a/lisp/mh-e/mh-seq.el +++ b/lisp/mh-e/mh-seq.el @@ -26,8 +26,6 @@ ;; Sequences are stored in the alist `mh-seq-list' in the form: ;; ((seq-name msgs ...) (seq-name msgs ...) ...) -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-show.el b/lisp/mh-e/mh-show.el index cb9819f17c7..6134e8350c8 100644 --- a/lisp/mh-e/mh-show.el +++ b/lisp/mh-e/mh-show.el @@ -26,8 +26,6 @@ ;; Mode for showing messages. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-speed.el b/lisp/mh-e/mh-speed.el index b2deacf6a74..3af840c3a31 100644 --- a/lisp/mh-e/mh-speed.el +++ b/lisp/mh-e/mh-speed.el @@ -26,8 +26,6 @@ ;; Future versions should only use flists. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-thread.el b/lisp/mh-e/mh-thread.el index 01b6863038b..89b0dbd9798 100644 --- a/lisp/mh-e/mh-thread.el +++ b/lisp/mh-e/mh-thread.el @@ -69,8 +69,6 @@ ;; (5) Better canonicalizing for message identifier and subject ;; strings. -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-tool-bar.el b/lisp/mh-e/mh-tool-bar.el index 40a430b9641..94aa8dd4a92 100644 --- a/lisp/mh-e/mh-tool-bar.el +++ b/lisp/mh-e/mh-tool-bar.el @@ -24,8 +24,6 @@ ;;; Commentary: -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-utils.el b/lisp/mh-e/mh-utils.el index e73c1db9e45..8e900dc0113 100644 --- a/lisp/mh-e/mh-utils.el +++ b/lisp/mh-e/mh-utils.el @@ -24,8 +24,6 @@ ;;; Commentary: -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/mh-e/mh-xface.el b/lisp/mh-e/mh-xface.el index 0b53829b056..d4d5c5c3784 100644 --- a/lisp/mh-e/mh-xface.el +++ b/lisp/mh-e/mh-xface.el @@ -23,8 +23,6 @@ ;;; Commentary: -;;; Change Log: - ;;; Code: (require 'mh-e) diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 86b5d449872..04ea8091277 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -6258,10 +6258,6 @@ be recognized automatically (they are all valid BS2000 hosts too)." ;; ange-ftp-bs2000-file-name-as-directory ;; ange-ftp-bs2000-make-compressed-filename ;; ange-ftp-bs2000-file-name-sans-versions - -;;;; ------------------------------------------------------------ -;;;; Finally provide package. -;;;; ------------------------------------------------------------ (provide 'ange-ftp) diff --git a/lisp/obsolete/fast-lock.el b/lisp/obsolete/fast-lock.el index baed8be7663..960233d5627 100644 --- a/lisp/obsolete/fast-lock.el +++ b/lisp/obsolete/fast-lock.el @@ -752,8 +752,6 @@ See `fast-lock-get-face-properties'." (unless (assq 'fast-lock-mode minor-mode-alist) (setq minor-mode-alist (append minor-mode-alist '((fast-lock-mode nil))))) -;; Provide ourselves: - (provide 'fast-lock) ;;; fast-lock.el ends here diff --git a/lisp/obsolete/lazy-lock.el b/lisp/obsolete/lazy-lock.el index 34bf85f864c..13f14aad6d1 100644 --- a/lisp/obsolete/lazy-lock.el +++ b/lisp/obsolete/lazy-lock.el @@ -1016,8 +1016,6 @@ verbosity is controlled via the variable `lazy-lock-stealth-verbose'." (unless (assq 'lazy-lock-mode minor-mode-alist) (setq minor-mode-alist (append minor-mode-alist '((lazy-lock-mode nil))))) -;; Provide ourselves: - (provide 'lazy-lock) ;; Local Variables: diff --git a/lisp/obsolete/nnir.el b/lisp/obsolete/nnir.el index f2ea5c67ceb..40a8ec57b98 100644 --- a/lisp/obsolete/nnir.el +++ b/lisp/obsolete/nnir.el @@ -1339,7 +1339,6 @@ Query for the specs, or use SPECS." (define-obsolete-function-alias 'nnir-get-active #'gnus-server-get-active "28.1") -;; The end. (provide 'nnir) ;;; nnir.el ends here diff --git a/lisp/obsolete/sregex.el b/lisp/obsolete/sregex.el index 96d6b7aebf0..371dcbf8498 100644 --- a/lisp/obsolete/sregex.el +++ b/lisp/obsolete/sregex.el @@ -208,7 +208,7 @@ ;; This is a "trapdoor" for including ordinary regular expression ;; strings in the result. Some regular expressions are clearer when ;; written the old way: "[a-z]" vs. (sregexq (char (?a . ?z))), for -;; instance. However, see the note under "Bugs," below. +;; instance. ;; Each CHAR-CLAUSE that is passed to (char ...) and (not-char ...) ;; has one of the following forms: @@ -236,8 +236,6 @@ ;; - add support for non-greedy operators *? and +? ;; - bug: (sregexq (opt (opt ?a))) returns "a??" which is a non-greedy "a?" -;;; Bugs: - ;;; Code: (eval-when-compile (require 'cl-lib)) diff --git a/lisp/progmodes/glasses.el b/lisp/progmodes/glasses.el index a0f5d36bb65..cd92175bd61 100644 --- a/lisp/progmodes/glasses.el +++ b/lisp/progmodes/glasses.el @@ -321,10 +321,6 @@ separators (like underscores) at places they belong to." (remove-hook 'write-file-functions 'glasses-convert-to-unreadable t))))) - -;;; Announce - (provide 'glasses) - ;;; glasses.el ends here diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el index a59014827e8..50268446025 100644 --- a/lisp/progmodes/meta-mode.el +++ b/lisp/progmodes/meta-mode.el @@ -942,9 +942,6 @@ The environment marked is the one that contains point or follows point." (list (list "\\<\\(\\sw+\\)" 1 'meta-symbol-list) (list "" 'ispell-complete-word)))) - -;;; Just in case ... - (provide 'meta-mode) (run-hooks 'meta-mode-load-hook) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 30721c7a577..20ec339fffb 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -247,8 +247,6 @@ ;; I'd recommend the first one since you'll get the same behavior for ;; all modes out-of-the-box. -;;; TODO: - ;;; Code: (require 'ansi-color) diff --git a/lisp/speedbar.el b/lisp/speedbar.el index 12e57b11082..118c7260769 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el @@ -4055,7 +4055,6 @@ this version is not backward compatible to 0.14 or earlier.") (provide 'speedbar) -;; run load-time hooks (run-hooks 'speedbar-load-hook) ;;; speedbar ends here diff --git a/lisp/textmodes/bibtex-style.el b/lisp/textmodes/bibtex-style.el index 6d01871bc52..27b2e0e3331 100644 --- a/lisp/textmodes/bibtex-style.el +++ b/lisp/textmodes/bibtex-style.el @@ -24,7 +24,6 @@ ;; Done: font-lock, imenu, outline, commenting, indentation. ;; Todo: tab-completion. -;; Bugs: ;;; Code: diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index f01c66b1584..31186fb4fac 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -5608,8 +5608,5 @@ If APPEND is non-nil, append ENTRIES to those already displayed." (setq buffer-read-only t) (goto-char (point-min))) - -;; Make BibTeX a Feature - (provide 'bibtex) ;;; bibtex.el ends here diff --git a/lisp/textmodes/makeinfo.el b/lisp/textmodes/makeinfo.el index 8152f4b89c8..653540ad415 100644 --- a/lisp/textmodes/makeinfo.el +++ b/lisp/textmodes/makeinfo.el @@ -284,7 +284,6 @@ line LINE of the window, or centered if LINE is nil." (pop-to-buffer old-buffer) ))) -;;; Place `provide' at end of file. (provide 'makeinfo) ;;; makeinfo.el ends here diff --git a/lisp/textmodes/page.el b/lisp/textmodes/page.el index e1d7fb7431c..b86a2f149de 100644 --- a/lisp/textmodes/page.el +++ b/lisp/textmodes/page.el @@ -170,8 +170,6 @@ point, respectively." (interactive) (apply #'message (cons "Page %d, line %d" (page--what-page)))) - -;;; Place `provide' at end of file. (provide 'page) ;;; page.el ends here diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index fb57b9b0f23..8d7f459190b 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -28,7 +28,6 @@ ;;; Code: -;; Pacify the byte-compiler (eval-when-compile (require 'compare-w) (require 'cl-lib) diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el index a797df9193f..5ce39da7968 100644 --- a/lisp/textmodes/texinfmt.el +++ b/lisp/textmodes/texinfmt.el @@ -23,10 +23,10 @@ ;;; Commentary: -;;; Code: - ;;; Emacs lisp functions to convert Texinfo files to Info files. +;;; Code: + (defvar texinfmt-version "2.42 of 7 Jul 2006") (make-obsolete-variable 'texinfmt-version 'emacs-version "28.1") @@ -4310,8 +4310,6 @@ For example, invoke (setq error 1)))) (kill-emacs error)))) - -;;; Place `provide' at end of file. (provide 'texinfmt) ;;; texinfmt.el ends here diff --git a/lisp/textmodes/texnfo-upd.el b/lisp/textmodes/texnfo-upd.el index 27807a95e60..03004548302 100644 --- a/lisp/textmodes/texnfo-upd.el +++ b/lisp/textmodes/texnfo-upd.el @@ -2112,8 +2112,6 @@ chapter." (message "Multiple files updated.")) - -;; Place `provide' at end of file. (provide 'texnfo-upd) ;;; texnfo-upd.el ends here diff --git a/lisp/textmodes/tildify.el b/lisp/textmodes/tildify.el index 163978b4315..01e2ad72d88 100644 --- a/lisp/textmodes/tildify.el +++ b/lisp/textmodes/tildify.el @@ -503,8 +503,6 @@ variable will be set to the representation." (remove-hook 'post-self-insert-hook #'tildify-space t))) -;;; *** Announce *** - (provide 'tildify) ;;; tildify.el ends here diff --git a/lisp/uniquify.el b/lisp/uniquify.el index 1d513d60376..7cc01687f49 100644 --- a/lisp/uniquify.el +++ b/lisp/uniquify.el @@ -498,8 +498,6 @@ For use on `kill-buffer-hook'." (file-name-directory filename) retval))) retval)) -;;; The End - (defun uniquify-unload-function () "Unload the uniquify library." (save-current-buffer diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index a054a7c3176..c9c1e91d483 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -26,10 +26,6 @@ ;; This is a mercurial version control backend -;;; Thanks: - -;;; Bugs: - ;;; Todo: ;; 1) Implement the rest of the vc interface. See the comment at the diff --git a/lisp/widget.el b/lisp/widget.el index 401b4cf298f..d258e6fae2b 100644 --- a/lisp/widget.el +++ b/lisp/widget.el @@ -94,8 +94,6 @@ The third argument DOC is a documentation string for the widget." ;; This is used by external widget code (in W3, at least). (define-obsolete-function-alias 'widget-plist-member #'plist-member "26.1") -;;; The End. - (provide 'widget) ;;; widget.el ends here diff --git a/test/manual/cedet/tests/test.el b/test/manual/cedet/tests/test.el index a54c253be68..d1d0d1602f4 100644 --- a/test/manual/cedet/tests/test.el +++ b/test/manual/cedet/tests/test.el @@ -153,7 +153,4 @@ (defvar-mode-local emacs-lisp-mode a-mode-local-def "some value") - -;;; Provide -;; (provide 'test) -- cgit v1.2.3 From 1956d98cabd957360317b72be52a9624801a54ef Mon Sep 17 00:00:00 2001 From: Stephen Gildea Date: Mon, 14 Jun 2021 23:16:37 -0700 Subject: mh-junk need not support SpamAssassin 2.20 from 2003 * lisp/mh-e/mh-junk.el (mh-spamassassin-*list): Remove support for SpamAssassin 2.20. (SpamAssassin 3.0 was released in 2004.) This change updates both the flags for sa-learn and the comments about how the current version works. This change reverts part of a change made in 2003 that added support for what was even then an "old version of spamassassin." --- lisp/mh-e/mh-junk.el | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) (limited to 'lisp/mh-e/mh-junk.el') diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index e50bf8df50c..95a9bb464aa 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el @@ -175,7 +175,7 @@ classified as spam (see the option `mh-junk-program')." SpamAssassin is one of the more popular spam filtering programs. Get it from your local distribution or from the SpamAssassin web -site at URL `http://spamassassin.org/'. +site at URL `https://spamassassin.apache.org/'. To use SpamAssassin, add the following recipes to \".procmailrc\": @@ -196,7 +196,7 @@ To use SpamAssassin, add the following recipes to * ^X-Spam-Status: Yes spam/. -If you don't use \"spamc\", use \"spamassassin -P -a\". +If you don't use \"spamc\", use \"spamassassin\". Note that one of the recipes above throws away messages with a score greater than or equal to 10. Here's how you can determine a @@ -243,16 +243,7 @@ in the \"blacklist_from\" entries from the last blank line in information can be used so that you can replace multiple \"blacklist_from\" entries with a single wildcard entry such as: - blacklist_from *@*amazingoffersdirect2u.com - -In versions of SpamAssassin (2.50 and on) that support a Bayesian -classifier, \\[mh-junk-blacklist] uses the program \"sa-learn\" -to recategorize the message as spam. Neither MH-E, nor -SpamAssassin, rebuilds the database after adding words, so you -will need to run \"sa-learn --rebuild\" periodically. This can be -done by adding the following to your crontab: - - 0 * * * * sa-learn --rebuild > /dev/null 2>&1" + blacklist_from *@*amazingoffersdirect2u.com" (unless mh-spamassassin-executable (error "Unable to find the spamassassin executable")) (let ((current-folder mh-current-folder) @@ -264,13 +255,13 @@ done by adding the following to your crontab: ;; (this happens if mh-junk-background is t). (with-current-buffer mh-log-buffer (call-process mh-spamassassin-executable msg-file mh-junk-background nil - ;;"--report" "--remove-from-whitelist" - "-r" "-R") ; spamassassin V2.20 + ;; -R removes from allow-list + "--report" "-R") (when mh-sa-learn-executable (message "Recategorizing message %d as spam..." msg) (mh-truncate-log-buffer) (call-process mh-sa-learn-executable msg-file mh-junk-background nil - "--single" "--spam" "--local" "--no-rebuild"))) + "--spam" "--local" "--no-sync"))) (message "Blacklisting sender of message %d..." msg) (with-current-buffer (get-buffer-create mh-temp-buffer) (erase-buffer) @@ -304,8 +295,7 @@ See `mh-spamassassin-blacklist' for more information." (erase-buffer) (message "Removing spamassassin markup from message %d..." msg) (call-process mh-spamassassin-executable msg-file t nil - ;; "--remove-markup" - "-d") ; spamassassin V2.20 + "--remove-markup") (if show-buffer (kill-buffer show-buffer)) (write-file msg-file) @@ -316,7 +306,7 @@ See `mh-spamassassin-blacklist' for more information." ;; (this happens if mh-junk-background is t). (with-current-buffer mh-log-buffer (call-process mh-sa-learn-executable msg-file mh-junk-background nil - "--single" "--ham" "--local" "--no-rebuild"))) + "--ham" "--local" "--no-sync"))) (message "Whitelisting sender of message %d..." msg) (setq from (car (mh-funcall-if-exists -- cgit v1.2.3 From 5fb8b20fa35a931660d9d59afc9ca863dd33a123 Mon Sep 17 00:00:00 2001 From: Stephen Gildea Date: Thu, 29 Jul 2021 17:37:39 -0700 Subject: mh-junk: replace color-based terms with descriptive words * lisp/mh-e/*.el: "whitelist" -> "allowlist" and "blacklist" -> "blocklist". * doc/misc/mh-e.texi: update manual to match. * lisp/mh-e/folder.el: Change the binding of 'mh-junk-allowlist' to 'J a'. Add a compatibility binding for the old 'J w'. * lisp/mh-e/mh-scan.el (mh-note-allowlisted): Change char from 'W' to 'A'. * lisp/mh-e/junk.el: Rename 'mh-blacklist-a-msg' to 'mh-junk-blocklist-a-msg', adding the missing "junk-" to the function name. --- doc/misc/mh-e.texi | 102 ++++++++++++++--------------- etc/NEWS | 30 +++++++++ lisp/mh-e/mh-e.el | 36 +++++------ lisp/mh-e/mh-folder.el | 105 +++++++++++++++--------------- lisp/mh-e/mh-funcs.el | 4 +- lisp/mh-e/mh-junk.el | 169 +++++++++++++++++++++++++------------------------ lisp/mh-e/mh-scan.el | 34 +++++----- lisp/mh-e/mh-search.el | 22 +++---- lisp/mh-e/mh-show.el | 9 ++- 9 files changed, 276 insertions(+), 235 deletions(-) (limited to 'lisp/mh-e/mh-junk.el') diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index 62540284312..0724640cf73 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -7383,8 +7383,8 @@ The name of the MH sequence for ticked messages (default: @samp{'tick}). @item mh-update-sequences-after-mh-show-flag On means flush MH sequences to disk after message is shown (default: @samp{on}). -@item mh-whitelist-preserves-sequences-flag -On means that sequences are preserved when messages are whitelisted +@item mh-allowlist-preserves-sequences-flag +On means that sequences are preserved when messages are allowlisted (default: @samp{on}). @end vtable @@ -7540,17 +7540,17 @@ Marshall Rose once wrote a paper on MH entitled, @cite{How to process could be entitled, @cite{How to process 1000 spams a day and still get some real work done}. -@cindex blacklisting +@cindex blocklisting @cindex ham @cindex viruses -@cindex whitelisting +@cindex allowlisting @cindex worms We use the terms @dfn{junk mail} and @dfn{spam} interchangeably for any unwanted message which includes spam, @dfn{viruses}, and @dfn{worms}. The opposite of spam is @dfn{ham}. The act of classifying -a sender as one who sends junk mail is called @dfn{blacklisting}; the -opposite is called @dfn{whitelisting}. +a sender as one who sends junk mail is called @dfn{blocklisting}; the +opposite is called @dfn{allowlisting}. @table @kbd @kindex J ? @@ -7560,14 +7560,14 @@ Display cheat sheet for the commands of the current prefix in minibuffer (@code{mh-prefix-help}). @c ------------------------- @kindex J b -@findex mh-junk-blacklist +@findex mh-junk-blocklist @item J b -Blacklist range as spam (@code{mh-junk-blacklist}). +Blocklist range as spam (@code{mh-junk-blocklist}). @c ------------------------- -@kindex J w -@findex mh-junk-whitelist -@item J w -Whitelist range as ham (@code{mh-junk-whitelist}). +@kindex J a +@findex mh-junk-allowlist +@item J a +Allowlist range as ham (@code{mh-junk-allowlist}). @c ------------------------- @item @code{mh-spamassassin-identify-spammers} Identify spammers who are repeat offenders. @@ -7597,31 +7597,31 @@ The following option in the @samp{mh-sequences} customization group is also available. @vtable @code -@item mh-whitelist-preserves-sequences-flag -On means that sequences are preserved when messages are whitelisted +@item mh-allowlist-preserves-sequences-flag +On means that sequences are preserved when messages are allowlisted (default: @samp{on}). @end vtable The following hooks are available. @vtable @code -@item mh-blacklist-msg-hook -Hook run by @kbd{J b} (@code{mh-junk-blacklist}) after marking each -message for blacklisting (default: @code{nil}). +@item mh-blocklist-msg-hook +Hook run by @kbd{J b} (@code{mh-junk-blocklist}) after marking each +message for blocklisting (default: @code{nil}). @c ------------------------- -@item mh-whitelist-msg-hook -Hook run by @kbd{J w} (@code{mh-junk-whitelist}) after marking each -message for whitelisting (default @samp{nil}). +@item mh-allowlist-msg-hook +Hook run by @kbd{J a} (@code{mh-junk-allowlist}) after marking each +message for allowlisting (default @samp{nil}). @end vtable The following faces are available. @vtable @code -@item mh-folder-blacklisted -Blacklisted message face. +@item mh-folder-blocklisted +Blocklisted message face. @c ------------------------- -@item mh-folder-whitelisted -Whitelisted message face +@item mh-folder-allowlisted +Allowlisted message face @end vtable @cindex SpamProbe @@ -7647,21 +7647,21 @@ example, you have both SpamAssassin and bogofilter installed and you want to use bogofilter, then you can set this option to @samp{Bogofilter}. -@findex mh-junk-blacklist +@findex mh-junk-blocklist @kindex J b @vindex mh-junk-disposition -The command @kbd{J b} (@code{mh-junk-blacklist}) trains the spam +The command @kbd{J b} (@code{mh-junk-blocklist}) trains the spam program in use with the content of the range (@pxref{Ranges}) and then handles the message(s) as specified by the option @code{mh-junk-disposition}. By default, this option is set to @samp{Delete Spam} but you can also specify the name of the folder which is useful for building a corpus of spam for training purposes. -@findex mh-junk-whitelist -@kindex J w +@findex mh-junk-allowlist +@kindex J a -In contrast, the command @kbd{J w} (@code{mh-junk-whitelist}) +In contrast, the command @kbd{J a} (@code{mh-junk-allowlist}) reclassifies a range of messages (@pxref{Ranges}) as ham if it were incorrectly classified as spam. It then refiles the message into the @file{+inbox} folder. @@ -7671,12 +7671,12 @@ incorrectly classified as spam. It then refiles the message into the @cindex @samp{Previous-Sequence} MH profile component @cindex sequence, @samp{cur} @cindex sequence, @samp{Previous-Sequence} -@vindex mh-whitelist-preserves-sequences-flag +@vindex mh-allowlist-preserves-sequences-flag If a message is in any sequence (except @samp{Previous-Sequence:} and -@samp{cur}) when it is whitelisted, then it will still be in those +@samp{cur}) when it is allowlisted, then it will still be in those sequences in the destination folder. If this behavior is not desired, -then turn off the option @code{mh-whitelist-preserves-sequences-flag}. +then turn off the option @code{mh-allowlist-preserves-sequences-flag}. @cindex @file{*MH-E Log*} @cindex buffers, @file{*MH-E Log*} @@ -7756,33 +7756,33 @@ the @samp{+spam} folder for later review. The major weakness of rules-based filters is a plethora of false positives so it is worthwhile to check. -@findex mh-junk-blacklist -@findex mh-junk-whitelist +@findex mh-junk-blocklist +@findex mh-junk-allowlist @kindex J b -@kindex J w +@kindex J a If SpamAssassin classifies a message incorrectly, or is unsure, you can -use the MH-E commands @kbd{J b} (@code{mh-junk-blacklist}) and -@kbd{J w} (@code{mh-junk-whitelist}). +use the MH-E commands @kbd{J b} (@code{mh-junk-blocklist}) and +@kbd{J a} (@code{mh-junk-allowlist}). @cindex @command{sa-learn} @cindex @file{.spamassassin/user_prefs} @cindex files, @file{.spamassassin/user_prefs} -The command @kbd{J b} (@code{mh-junk-blacklist}) adds a +The command @kbd{J b} (@code{mh-junk-blocklist}) adds a @samp{blacklist_from} entry to @file{~/spamassassin/user_prefs}, deletes the message, and sends the message to the Razor, so that others might not see this spam. If the @command{sa-learn} command is available, the message is also recategorized as spam. -The command@kbd{J w} (@code{mh-junk-whitelist}) adds a +The command@kbd{J a} (@code{mh-junk-allowlist}) adds a @samp{whitelist_from} rule to @samp{~/.spamassassin/user_prefs}. If the @command{sa-learn} command is available, the message is also recategorized as ham. Over time, you'll observe that the same host or domain occurs repeatedly in the @samp{blacklist_from} entries, so you might think -that you could avoid future spam by blacklisting all mail from a +that you could avoid future spam by blocklisting all mail from a particular domain. The utility function @code{mh-spamassassin-identify-spammers} helps you do precisely that. This function displays a frequency count of the hosts and domains in @@ -7796,7 +7796,7 @@ blacklist_from *@@*amazingoffersdirect2u.com @end smallexample In versions of SpamAssassin (2.50 and on) that support a Bayesian -classifier, @kbd{J b} @code{(mh-junk-blacklist}) uses the program +classifier, @kbd{J b} @code{(mh-junk-blocklist}) uses the program @command{sa-learn} to recategorize the message as spam. Neither MH-E, nor SpamAssassin, rebuilds the database after adding words, so you will need to run @samp{sa-learn --rebuild} periodically. This can be @@ -7856,14 +7856,14 @@ spam/. spam/unsure/. @end smallexample -@findex mh-junk-blacklist -@findex mh-junk-whitelist +@findex mh-junk-blocklist +@findex mh-junk-allowlist @kindex J b -@kindex J w +@kindex J a If bogofilter classifies a message incorrectly, or is unsure, you can -use the MH-E commands @kbd{J b} (@code{mh-junk-blacklist}) and @kbd{J -w} (@code{mh-junk-whitelist}) to update bogofilter's training. +use the MH-E commands @kbd{J b} (@code{mh-junk-blocklist}) and +@kbd{J a} (@code{mh-junk-allowlist}) to update bogofilter's training. The @cite{Bogofilter FAQ} suggests that you run the following occasionally to shrink the database: @@ -7908,14 +7908,14 @@ SCORE=| spamprobe receive spam/. @end smallexample -@findex mh-junk-blacklist -@findex mh-junk-whitelist +@findex mh-junk-blocklist +@findex mh-junk-allowlist @kindex J b -@kindex J w +@kindex J a If SpamProbe classifies a message incorrectly, you can use the MH-E -commands @kbd{J b} (@code{mh-junk-blacklist}) and @kbd{J w} -(@code{mh-junk-whitelist}) to update SpamProbe's training. +commands @kbd{J b} (@code{mh-junk-blocklist}) and @kbd{J a} +(@code{mh-junk-allowlist}) to update SpamProbe's training. @subheading Other Things You Can Do diff --git a/etc/NEWS b/etc/NEWS index ce5c960f616..5f9be88297b 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1739,6 +1739,36 @@ modified flag. *** New faces for heading elements. Those are 'shr-h1', 'shr-h2', 'shr-h3', 'shr-h4', 'shr-h5', 'shr-h6'. +** MH-E mail handler for Emacs + +Functions and variables related to handling junk mail have been +renamed to not associate color with sender quality. + ++++ +*** New names for mh-junk interactive functions. +Function 'mh-junk-whitelist' is renamed 'mh-junk-allowlist'. +Function 'mh-junk-blacklist' is renamed 'mh-junk-blocklist'. + ++++ +*** New binding for mh-junk-allowlist. +The key binding for 'mh-junk-allowlist' is changed from 'J w' to 'J a'. +The old binding is supported but warns that it is obsolete. + ++++ +*** New names for some hooks. +'mh-whitelist-msg-hook' is renamed 'mh-allowlist-msg-hook'. +'mh-blacklist-msg-hook' is renamed 'mh-blocklist-msg-hook'. + ++++ +*** New names for some variables. +Variable 'mh-whitelist-preserves-sequences-flag' is renamed +'mh-allowlist-preserves-sequences-flag'. + ++++ +*** New names for some faces. +Face 'mh-folder-blacklisted' is renamed 'mh-folder-blocklisted'. +Face 'mh-folder-whitelisted' is renamed 'mh-folder-allowlisted'. + ** Apropos *** New commands 'apropos-next-symbol' and 'apropos-previous-symbol'. diff --git a/lisp/mh-e/mh-e.el b/lisp/mh-e/mh-e.el index e935cfda97e..797bfcc2131 100644 --- a/lisp/mh-e/mh-e.el +++ b/lisp/mh-e/mh-e.el @@ -229,7 +229,7 @@ User's mail folder directory.") (defvar mh-arrow-marker nil "Marker for arrow display in fringe.") -(defvar mh-blacklist nil +(defvar mh-blocklist nil "List of messages to use to train the junk filter. This variable can be used by `mh-before-commands-processed-hook'.") @@ -295,7 +295,7 @@ Elements have the form (SEQUENCE . MESSAGES).") "Stack of operations that change the folder view. These operations include narrowing or threading.") -(defvar mh-whitelist nil +(defvar mh-allowlist nil "List of messages to use to train the junk filter. This variable can be used by `mh-before-commands-processed-hook'.") @@ -1687,13 +1687,13 @@ fashion." ;; Available spam filter interfaces (defvar mh-junk-function-alist - '((spamassassin mh-spamassassin-blacklist mh-spamassassin-whitelist) - (bogofilter mh-bogofilter-blacklist mh-bogofilter-whitelist) - (spamprobe mh-spamprobe-blacklist mh-spamprobe-whitelist)) + '((spamassassin mh-spamassassin-blocklist mh-spamassassin-allowlist) + (bogofilter mh-bogofilter-blocklist mh-bogofilter-allowlist) + (spamprobe mh-spamprobe-blocklist mh-spamprobe-allowlist)) "Available choices of spam programs to use. This is an alist. For each element there are functions that -blacklist a message as spam and whitelist a message incorrectly +blocklist a message as spam and allowlist a message incorrectly classified as spam.") (defun mh-junk-choose (symbol value) @@ -2236,11 +2236,11 @@ commands." :group 'mh-sequences :package-version '(MH-E . "7.0")) -(defcustom-mh mh-whitelist-preserves-sequences-flag t - "Non-nil means that sequences are preserved when messages are whitelisted. +(defcustom-mh mh-allowlist-preserves-sequences-flag t + "Non-nil means that sequences are preserved when messages are allowlisted. If a message is in any sequence (except \"Previous-Sequence:\" -and \"cur\") when it is whitelisted, then it will still be in +and \"cur\") when it is allowlisted, then it will still be in those sequences in the destination folder. If this behavior is not desired, then turn off this option." :type 'boolean @@ -3195,7 +3195,7 @@ annotated messages with `mh-annotate-list'." "Hook run by \\\\[mh-execute-commands] before performing outstanding refile and delete requests. Variables that are useful in this hook include `mh-delete-list', -`mh-refile-list', `mh-blacklist', and `mh-whitelist' which can be +`mh-refile-list', `mh-blocklist', and `mh-allowlist' which can be used to see which changes will be made to the current folder, `mh-current-folder'." :type 'hook @@ -3227,8 +3227,8 @@ before sending, add the `ispell-message' function." :group 'mh-letter :package-version '(MH-E . "6.0")) -(defcustom-mh mh-blacklist-msg-hook nil - "Hook run by \\\\[mh-junk-blacklist] after marking each message for blacklisting." +(defcustom-mh mh-blocklist-msg-hook nil + "Hook run by \\\\[mh-junk-blocklist] after marking each message for blocklisting." :type 'hook :group 'mh-hooks :group 'mh-show @@ -3400,8 +3400,8 @@ sequence." :group 'mh-sequences :package-version '(MH-E . "6.0")) -(defcustom-mh mh-whitelist-msg-hook nil - "Hook run by \\\\[mh-junk-whitelist] after marking each message for whitelisting." +(defcustom-mh mh-allowlist-msg-hook nil + "Hook run by \\\\[mh-junk-allowlist] after marking each message for allowlisting." :type 'hook :group 'mh-hooks :group 'mh-show @@ -3627,9 +3627,9 @@ specified colors." :group 'mh-folder :package-version '(MH-E . "8.0")) -(defface-mh mh-folder-blacklisted +(defface-mh mh-folder-blocklisted (mh-face-data 'mh-folder-msg-number '((t (:inherit mh-folder-msg-number)))) - "Blacklisted message face." + "Blocklisted message face." :group 'mh-faces :group 'mh-folder :package-version '(MH-E . "8.4")) @@ -3723,9 +3723,9 @@ format `mh-scan-format-nmh' and the regular expression :group 'mh-folder :package-version '(MH-E . "8.0")) -(defface-mh mh-folder-whitelisted +(defface-mh mh-folder-allowlisted (mh-face-data 'mh-folder-refiled '((t (:inherit mh-folder-refiled)))) - "Whitelisted message face." + "Allowlisted message face." :group 'mh-faces :group 'mh-folder :package-version '(MH-E . "8.4")) diff --git a/lisp/mh-e/mh-folder.el b/lisp/mh-e/mh-folder.el index ce77f9c0971..35277ae46a1 100644 --- a/lisp/mh-e/mh-folder.el +++ b/lisp/mh-e/mh-folder.el @@ -278,7 +278,8 @@ annotation.") (gnus-define-keys (mh-junk-map "J" mh-folder-mode-map) "?" mh-prefix-help - "b" mh-junk-blacklist + "a" mh-junk-allowlist + "b" mh-junk-blocklist "w" mh-junk-whitelist) (gnus-define-keys (mh-ps-print-map "P" mh-folder-mode-map) @@ -386,7 +387,7 @@ annotation.") (?K "[v]iew, [i]nline, with [e]xternal viewer; \n" "[o]utput/save MIME part; save [a]ll parts; \n" "[t]oggle buttons; [TAB] next; [SHIFT-TAB] previous") - (?J "[b]lacklist, [w]hitelist message")) + (?J "[b]locklist, [a]llowlist message")) "Key binding cheat sheet. See `mh-set-help'.") @@ -405,12 +406,12 @@ See `mh-set-help'.") ;; Marked for deletion (list (concat mh-scan-deleted-msg-regexp ".*") '(0 'mh-folder-deleted)) - ;; Marked for blacklisting - (list (concat mh-scan-blacklisted-msg-regexp ".*") - '(0 'mh-folder-blacklisted)) - ;; Marked for whitelisting - (list (concat mh-scan-whitelisted-msg-regexp ".*") - '(0 'mh-folder-whitelisted)) + ;; Marked for blocklisting + (list (concat mh-scan-blocklisted-msg-regexp ".*") + '(0 'mh-folder-blocklisted)) + ;; Marked for allowlisting + (list (concat mh-scan-allowlisted-msg-regexp ".*") + '(0 'mh-folder-allowlisted)) ;; After subject (list mh-scan-body-regexp '(1 'mh-folder-body nil t)) @@ -616,8 +617,8 @@ perform the operation on all messages in that region. 'mh-showing-mode nil ; Show message also? 'mh-refile-list nil ; List of folder names in mh-seq-list 'mh-delete-list nil ; List of msgs nums to delete - 'mh-blacklist nil ; List of messages to process as spam - 'mh-whitelist nil ; List of messages to process as ham + 'mh-blocklist nil ; List of messages to process as spam + 'mh-allowlist nil ; List of messages to process as ham 'mh-seq-list nil ; Alist of (seq . msgs) nums 'mh-seen-list nil ; List of displayed messages 'mh-next-direction 'forward ; Direction to move to next message @@ -714,8 +715,8 @@ RANGE is read in interactive use." (defun mh-execute-commands () "Perform outstanding operations\\. -If you've marked messages to be refiled, deleted, blacklisted, or -whitelisted and you want to go ahead and perform these operations +If you've marked messages to be refiled, deleted, blocklisted, or +allowlisted and you want to go ahead and perform these operations on these messages, use this command. Many MH-E commands that may affect the numbering of the messages (such as \\[mh-rescan-folder] or \\[mh-pack-folder]) will ask if you want @@ -1188,16 +1189,16 @@ RANGE is read in interactive use." (beginning-of-line) (while (not (or (looking-at mh-scan-refiled-msg-regexp) (looking-at mh-scan-deleted-msg-regexp) - (looking-at mh-scan-blacklisted-msg-regexp) - (looking-at mh-scan-whitelisted-msg-regexp) + (looking-at mh-scan-blocklisted-msg-regexp) + (looking-at mh-scan-allowlisted-msg-regexp) (and (eq mh-next-direction 'forward) (bobp)) (and (eq mh-next-direction 'backward) (save-excursion (forward-line) (eobp))))) (forward-line (if (eq mh-next-direction 'forward) -1 1))) (if (or (looking-at mh-scan-refiled-msg-regexp) (looking-at mh-scan-deleted-msg-regexp) - (looking-at mh-scan-blacklisted-msg-regexp) - (looking-at mh-scan-whitelisted-msg-regexp)) + (looking-at mh-scan-blocklisted-msg-regexp) + (looking-at mh-scan-allowlisted-msg-regexp)) (progn (mh-undo-msg (mh-get-msg-num t)) (mh-maybe-show)) @@ -1529,7 +1530,7 @@ is updated." (save-excursion (when (eq major-mode 'mh-show-mode) (set-buffer mh-show-folder-buffer)) - (or mh-delete-list mh-refile-list mh-blacklist mh-whitelist))) + (or mh-delete-list mh-refile-list mh-blocklist mh-allowlist))) ;;;###mh-autoload (defun mh-set-folder-modified-p (flag) @@ -1555,12 +1556,12 @@ after the commands are processed." (folders-changed (list mh-current-folder)) (seq-map (and (or (and mh-refile-list mh-refile-preserves-sequences-flag) - (and mh-whitelist - mh-whitelist-preserves-sequences-flag)) + (and mh-allowlist + mh-allowlist-preserves-sequences-flag)) (mh-create-sequence-map mh-seq-list))) (dest-map (and mh-refile-list mh-refile-preserves-sequences-flag (make-hash-table))) - (white-map (and mh-whitelist mh-whitelist-preserves-sequences-flag + (allow-map (and mh-allowlist mh-allowlist-preserves-sequences-flag (make-hash-table)))) ;; Remove invalid scan lines if we are in an index folder and then remove ;; the real messages @@ -1609,11 +1610,11 @@ after the commands are processed." (mh-delete-scan-msgs mh-delete-list) (setq mh-delete-list nil))) - ;; Blacklist messages. - (when mh-blacklist - (let ((msg-list (mh-coalesce-msg-list mh-blacklist)) - (dest (mh-junk-blacklist-disposition))) - (mh-junk-process-blacklist mh-blacklist) + ;; Blocklist messages. + (when mh-blocklist + (let ((msg-list (mh-coalesce-msg-list mh-blocklist)) + (dest (mh-junk-blocklist-disposition))) + (mh-junk-process-blocklist mh-blocklist) ;; TODO I wonder why mh-exec-cmd is used instead of the following: ;; (mh-refile-a-msg nil (intern dest)) ;; (mh-delete-a-msg nil))) @@ -1622,35 +1623,35 @@ after the commands are processed." (apply #'mh-exec-cmd "refile" "-src" folder dest msg-list) (push dest folders-changed)) (setq redraw-needed-flag t) - (mh-delete-scan-msgs mh-blacklist) - (setq mh-blacklist nil))) + (mh-delete-scan-msgs mh-blocklist) + (setq mh-blocklist nil))) - ;; Whitelist messages. - (when mh-whitelist - (let ((msg-list (mh-coalesce-msg-list mh-whitelist)) + ;; Allowlist messages. + (when mh-allowlist + (let ((msg-list (mh-coalesce-msg-list mh-allowlist)) (last (car (mh-translate-range mh-inbox "last")))) - (mh-junk-process-whitelist mh-whitelist) + (mh-junk-process-allowlist mh-allowlist) (apply #'mh-exec-cmd "refile" "-src" folder mh-inbox msg-list) (push mh-inbox folders-changed) (setq redraw-needed-flag t) - (mh-delete-scan-msgs mh-whitelist) - (when mh-whitelist-preserves-sequences-flag - (clrhash white-map) + (mh-delete-scan-msgs mh-allowlist) + (when mh-allowlist-preserves-sequences-flag + (clrhash allow-map) (cl-loop for i from (1+ (or last 0)) - for msg in (sort (copy-sequence mh-whitelist) #'<) + for msg in (sort (copy-sequence mh-allowlist) #'<) do (cl-loop for seq-name in (gethash msg seq-map) - do (push i (gethash seq-name white-map)))) + do (push i (gethash seq-name allow-map)))) (maphash #'(lambda (seq msgs) ;; Can't be run in background, since the current ;; folder is changed by mark this could lead to a - ;; race condition with the next refile/whitelist. + ;; race condition with the next refile/allowlist. (apply #'mh-exec-cmd "mark" "-sequence" (symbol-name seq) mh-inbox "-add" (mapcar #'(lambda(x) (format "%s" x)) (mh-coalesce-msg-list msgs)))) - white-map)) - (setq mh-whitelist nil))) + allow-map)) + (setq mh-allowlist nil))) ;; Don't need to remove sequences since delete and refile do so. ;; Mark cur message @@ -1961,10 +1962,10 @@ once when he kept statistics on his mail usage." (setq message (mh-get-msg-num t))) (if (looking-at mh-scan-refiled-msg-regexp) (error "Message %d is refiled; undo refile before deleting" message)) - (if (looking-at mh-scan-blacklisted-msg-regexp) - (error "Message %d is blacklisted; undo before deleting" message)) - (if (looking-at mh-scan-whitelisted-msg-regexp) - (error "Message %d is whitelisted; undo before deleting" message)) + (if (looking-at mh-scan-blocklisted-msg-regexp) + (error "Message %d is blocklisted; undo before deleting" message)) + (if (looking-at mh-scan-allowlisted-msg-regexp) + (error "Message %d is allowlisted; undo before deleting" message)) (if (looking-at mh-scan-deleted-msg-regexp) nil (mh-set-folder-modified-p t) @@ -1986,10 +1987,10 @@ be refiled." (setq message (mh-get-msg-num t))) (cond ((looking-at mh-scan-deleted-msg-regexp) (error "Message %d is deleted; undo delete before moving" message)) - ((looking-at mh-scan-blacklisted-msg-regexp) - (error "Message %d is blacklisted; undo before moving" message)) - ((looking-at mh-scan-whitelisted-msg-regexp) - (error "Message %d is whitelisted; undo before moving" message)) + ((looking-at mh-scan-blocklisted-msg-regexp) + (error "Message %d is blocklisted; undo before moving" message)) + ((looking-at mh-scan-allowlisted-msg-regexp) + (error "Message %d is allowlisted; undo before moving" message)) ((looking-at mh-scan-refiled-msg-regexp) (if (y-or-n-p (format "Message %d already refiled; copy to %s as well? " @@ -2008,7 +2009,7 @@ be refiled." (run-hooks 'mh-refile-msg-hook))))) (defun mh-undo-msg (msg) - "Undo the deletion, refile, black- or whitelisting of one MSG. + "Undo the deletion, refile, block- or allowlisting of one MSG. If MSG is nil then act on the message at point" (save-excursion (if (numberp msg) @@ -2017,10 +2018,10 @@ If MSG is nil then act on the message at point" (setq msg (mh-get-msg-num t))) (cond ((memq msg mh-delete-list) (setq mh-delete-list (delq msg mh-delete-list))) - ((memq msg mh-blacklist) - (setq mh-blacklist (delq msg mh-blacklist))) - ((memq msg mh-whitelist) - (setq mh-whitelist (delq msg mh-whitelist))) + ((memq msg mh-blocklist) + (setq mh-blocklist (delq msg mh-blocklist))) + ((memq msg mh-allowlist) + (setq mh-allowlist (delq msg mh-allowlist))) (t (dolist (folder-msg-list mh-refile-list) (setf (cdr folder-msg-list) (remove msg (cdr folder-msg-list)))) diff --git a/lisp/mh-e/mh-funcs.el b/lisp/mh-e/mh-funcs.el index 0e5ffc9a42c..4a5e670c1ef 100644 --- a/lisp/mh-e/mh-funcs.el +++ b/lisp/mh-e/mh-funcs.el @@ -354,8 +354,8 @@ Arguments are IGNORED (for `revert-buffer')." (yes-or-no-p "Undo all commands in folder? ")) (setq mh-delete-list nil mh-refile-list nil - mh-blacklist nil - mh-whitelist nil + mh-blocklist nil + mh-allowlist nil mh-seq-list nil mh-next-direction 'forward) (with-mh-folder-updating (nil) diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index 95a9bb464aa..cf9cf721e06 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el @@ -32,8 +32,8 @@ (require 'mh-scan) ;;;###mh-autoload -(defun mh-junk-blacklist (range) - "Blacklist RANGE as spam. +(defun mh-junk-blocklist (range) + "Blocklist RANGE as spam. This command trains the spam program in use (see the option `mh-junk-program') with the content of RANGE and then handles the @@ -45,44 +45,44 @@ read in interactive use. For more information about using your particular spam fighting program, see: - - `mh-spamassassin-blacklist' - - `mh-bogofilter-blacklist' - - `mh-spamprobe-blacklist'" - (interactive (list (mh-interactive-range "Blacklist"))) - (mh-iterate-on-range () range (mh-blacklist-a-msg nil)) - (if (looking-at mh-scan-blacklisted-msg-regexp) + - `mh-spamassassin-blocklist' + - `mh-bogofilter-blocklist' + - `mh-spamprobe-blocklist'" + (interactive (list (mh-interactive-range "Blocklist"))) + (mh-iterate-on-range () range (mh-junk-blocklist-a-msg nil)) + (if (looking-at mh-scan-blocklisted-msg-regexp) (mh-next-msg))) -(defun mh-blacklist-a-msg (message) - "Blacklist MESSAGE. -If MESSAGE is nil then the message at point is blacklisted. -The hook `mh-blacklist-msg-hook' is called after you mark a message -for blacklisting." +(defun mh-junk-blocklist-a-msg (message) + "Blocklist MESSAGE. +If MESSAGE is nil then the message at point is blocklisted. +The hook `mh-blocklist-msg-hook' is called after you mark a message +for blocklisting." (save-excursion (if (numberp message) (mh-goto-msg message nil t) (beginning-of-line) (setq message (mh-get-msg-num t))) (cond ((looking-at mh-scan-refiled-msg-regexp) - (error "Message %d is refiled; undo refile before blacklisting" + (error "Message %d is refiled; undo refile before blocklisting" message)) ((looking-at mh-scan-deleted-msg-regexp) - (error "Message %d is deleted; undo delete before blacklisting" + (error "Message %d is deleted; undo delete before blocklisting" message)) - ((looking-at mh-scan-whitelisted-msg-regexp) - (error "Message %d is whitelisted; undo before blacklisting" + ((looking-at mh-scan-allowlisted-msg-regexp) + (error "Message %d is allowlisted; undo before blocklisting" message)) - ((looking-at mh-scan-blacklisted-msg-regexp) nil) + ((looking-at mh-scan-blocklisted-msg-regexp) nil) (t (mh-set-folder-modified-p t) - (setq mh-blacklist (cons message mh-blacklist)) + (setq mh-blocklist (cons message mh-blocklist)) (if (not (memq message mh-seen-list)) (setq mh-seen-list (cons message mh-seen-list))) - (mh-notate nil mh-note-blacklisted mh-cmd-note) - (run-hooks 'mh-blacklist-msg-hook))))) + (mh-notate nil mh-note-blocklisted mh-cmd-note) + (run-hooks 'mh-blocklist-msg-hook))))) ;;;###mh-autoload -(defun mh-junk-blacklist-disposition () +(defun mh-junk-blocklist-disposition () "Determines the fate of the selected spam." (cond ((null mh-junk-disposition) nil) ((equal mh-junk-disposition "") "+") @@ -94,22 +94,29 @@ for blacklisting." (t (concat "+" mh-junk-disposition)))) ;;;###mh-autoload -(defun mh-junk-process-blacklist (range) - "Blacklist RANGE as spam. +(defun mh-junk-process-blocklist (range) + "Blocklist RANGE as spam. This command trains the spam program in use (see the option `mh-junk-program') with the content of RANGE and then handles the message(s) as specified by the option `mh-junk-disposition'." - (let ((blacklist-func (nth 1 (assoc mh-junk-choice mh-junk-function-alist)))) - (unless blacklist-func + (let ((blocklist-func (nth 1 (assoc mh-junk-choice mh-junk-function-alist)))) + (unless blocklist-func (error "Customize `mh-junk-program' appropriately")) (mh-iterate-on-range msg range - (message "Blacklisting message %d..." msg) - (funcall (symbol-function blacklist-func) msg) - (message "Blacklisting message %d...done" msg)))) + (message "Blocklisting message %d..." msg) + (funcall (symbol-function blocklist-func) msg) + (message "Blocklisting message %d...done" msg)))) ;;;###mh-autoload (defun mh-junk-whitelist (range) - "Whitelist RANGE as ham. + "Old name for `mh-junk-allowlist'; use \\[mh-junk-allowlist] instead." + (declare (obsolete mh-junk-allowlist "28.1")) + (interactive (list (mh-interactive-range "Allowlist"))) + (mh-junk-allowlist range)) + +;;;###mh-autoload +(defun mh-junk-allowlist (range) + "Allowlist RANGE as ham. This command reclassifies the RANGE as ham if it were incorrectly classified as spam (see the option `mh-junk-program'). It then @@ -117,50 +124,50 @@ refiles the message into the \"+inbox\" folder. Check the documentation of `mh-interactive-range' to see how RANGE is read in interactive use." - (interactive (list (mh-interactive-range "Whitelist"))) - (mh-iterate-on-range () range (mh-junk-whitelist-a-msg nil)) - (if (looking-at mh-scan-whitelisted-msg-regexp) + (interactive (list (mh-interactive-range "Allowlist"))) + (mh-iterate-on-range () range (mh-junk-allowlist-a-msg nil)) + (if (looking-at mh-scan-allowlisted-msg-regexp) (mh-next-msg))) -(defun mh-junk-whitelist-a-msg (message) - "Whitelist MESSAGE. -If MESSAGE is nil then the message at point is whitelisted. The -hook `mh-whitelist-msg-hook' is called after you mark a message -for whitelisting." +(defun mh-junk-allowlist-a-msg (message) + "Allowlist MESSAGE. +If MESSAGE is nil then the message at point is allowlisted. The +hook `mh-allowlist-msg-hook' is called after you mark a message +for allowlisting." (save-excursion (if (numberp message) (mh-goto-msg message nil t) (beginning-of-line) (setq message (mh-get-msg-num t))) (cond ((looking-at mh-scan-refiled-msg-regexp) - (error "Message %d is refiled; undo refile before whitelisting" + (error "Message %d is refiled; undo refile before allowlisting" message)) ((looking-at mh-scan-deleted-msg-regexp) - (error "Message %d is deleted; undo delete before whitelisting" + (error "Message %d is deleted; undo delete before allowlisting" message)) - ((looking-at mh-scan-blacklisted-msg-regexp) - (error "Message %d is blacklisted; undo before whitelisting" + ((looking-at mh-scan-blocklisted-msg-regexp) + (error "Message %d is blocklisted; undo before allowlisting" message)) - ((looking-at mh-scan-whitelisted-msg-regexp) nil) + ((looking-at mh-scan-allowlisted-msg-regexp) nil) (t (mh-set-folder-modified-p t) - (setq mh-whitelist (cons message mh-whitelist)) - (mh-notate nil mh-note-whitelisted mh-cmd-note) - (run-hooks 'mh-whitelist-msg-hook))))) + (setq mh-allowlist (cons message mh-allowlist)) + (mh-notate nil mh-note-allowlisted mh-cmd-note) + (run-hooks 'mh-allowlist-msg-hook))))) ;;;###mh-autoload -(defun mh-junk-process-whitelist (range) - "Whitelist RANGE as ham. +(defun mh-junk-process-allowlist (range) + "Allowlist RANGE as ham. This command reclassifies the RANGE as ham if it were incorrectly classified as spam (see the option `mh-junk-program')." - (let ((whitelist-func (nth 2 (assoc mh-junk-choice mh-junk-function-alist)))) - (unless whitelist-func + (let ((allowlist-func (nth 2 (assoc mh-junk-choice mh-junk-function-alist)))) + (unless allowlist-func (error "Customize `mh-junk-program' appropriately")) (mh-iterate-on-range msg range - (message "Whitelisting message %d..." msg) - (funcall (symbol-function whitelist-func) msg) - (message "Whitelisting message %d...done" msg)))) + (message "Allowlisting message %d..." msg) + (funcall (symbol-function allowlist-func) msg) + (message "Allowlisting message %d...done" msg)))) @@ -170,8 +177,8 @@ classified as spam (see the option `mh-junk-program')." (defvar mh-sa-learn-executable (executable-find "sa-learn")) ;;;###mh-autoload -(defun mh-spamassassin-blacklist (msg) - "Blacklist MSG with SpamAssassin. +(defun mh-spamassassin-blocklist (msg) + "Blocklist MSG with SpamAssassin. SpamAssassin is one of the more popular spam filtering programs. Get it from your local distribution or from the SpamAssassin web @@ -219,22 +226,22 @@ rules-based filters is a plethora of false positives so it is worthwhile to check. If SpamAssassin classifies a message incorrectly, or is unsure, -you can use the MH-E commands \\[mh-junk-blacklist] and -\\[mh-junk-whitelist]. +you can use the MH-E commands \\[mh-junk-blocklist] and +\\[mh-junk-allowlist]. -The command \\[mh-junk-blacklist] adds a \"blacklist_from\" entry +The command \\[mh-junk-blocklist] adds a \"blacklist_from\" entry to \"~/spamassassin/user_prefs\", deletes the message, and sends the message to the Razor, so that others might not see this spam. If the \"sa-learn\" command is available, the message is also recategorized as spam. -The command \\[mh-junk-whitelist] adds a \"whitelist_from\" rule +The command \\[mh-junk-allowlist] adds a \"whitelist_from\" rule to the \"~/.spamassassin/user_prefs\" file. If the \"sa-learn\" command is available, the message is also recategorized as ham. Over time, you'll observe that the same host or domain occurs repeatedly in the \"blacklist_from\" entries, so you might think -that you could avoid future spam by blacklisting all mail from a +that you could avoid future spam by blocklisting all mail from a particular domain. The utility function `mh-spamassassin-identify-spammers' helps you do precisely that. This function displays a frequency count of the hosts and domains @@ -262,7 +269,7 @@ information can be used so that you can replace multiple (mh-truncate-log-buffer) (call-process mh-sa-learn-executable msg-file mh-junk-background nil "--spam" "--local" "--no-sync"))) - (message "Blacklisting sender of message %d..." msg) + (message "Blocklisting sender of message %d..." msg) (with-current-buffer (get-buffer-create mh-temp-buffer) (erase-buffer) (call-process (expand-file-name mh-scan-prog mh-progs) @@ -274,18 +281,18 @@ information can be used so that you can replace multiple (progn (setq sender (match-string 0)) (mh-spamassassin-add-rule "blacklist_from" sender) - (message "Blacklisting sender of message %d...done" msg)) - (message "Blacklisting sender of message %d...not done (from my address)" msg))))) + (message "Blocklisting sender of message %d...done" msg)) + (message "Blocklisting sender of message %d...not done (from my address)" msg))))) ;;;###mh-autoload -(defun mh-spamassassin-whitelist (msg) - "Whitelist MSG with SpamAssassin. +(defun mh-spamassassin-allowlist (msg) + "Allowlist MSG with SpamAssassin. -The \\[mh-junk-whitelist] command adds a \"whitelist_from\" rule to +The \\[mh-junk-allowlist] command adds a \"whitelist_from\" rule to the \"~/.spamassassin/user_prefs\" file. If the \"sa-learn\" command is available, the message is also recategorized as ham. -See `mh-spamassassin-blacklist' for more information." +See `mh-spamassassin-blocklist' for more information." (unless mh-spamassassin-executable (error "Unable to find the spamassassin executable")) (let ((msg-file (mh-msg-filename msg mh-current-folder)) @@ -307,14 +314,14 @@ See `mh-spamassassin-blacklist' for more information." (with-current-buffer mh-log-buffer (call-process mh-sa-learn-executable msg-file mh-junk-background nil "--ham" "--local" "--no-sync"))) - (message "Whitelisting sender of message %d..." msg) + (message "Allowlisting sender of message %d..." msg) (setq from (car (mh-funcall-if-exists ietf-drums-parse-address (mh-get-header-field "From:")))) (kill-buffer nil) (unless (or (null from) (equal from "")) (mh-spamassassin-add-rule "whitelist_from" from)) - (message "Whitelisting sender of message %d...done" msg)))) + (message "Allowlisting sender of message %d...done" msg)))) (defun mh-spamassassin-add-rule (rule body) "Add a new rule to \"~/.spamassassin/user_prefs\". @@ -384,8 +391,8 @@ information can be used so that you can replace multiple (defvar mh-bogofilter-executable (executable-find "bogofilter")) ;;;###mh-autoload -(defun mh-bogofilter-blacklist (msg) - "Blacklist MSG with bogofilter. +(defun mh-bogofilter-blocklist (msg) + "Blocklist MSG with bogofilter. Bogofilter is a Bayesian spam filtering program. Get it from your local distribution or from the bogofilter web site at URL @@ -422,7 +429,7 @@ To use bogofilter, add the following recipes to \".procmailrc\": spam/unsure/. If bogofilter classifies a message incorrectly, or is unsure, you can -use the MH-E commands \\[mh-junk-blacklist] and \\[mh-junk-whitelist] +use the MH-E commands \\[mh-junk-blocklist] and \\[mh-junk-allowlist] to update bogofilter's training. The \"Bogofilter FAQ\" suggests that you run the following @@ -444,10 +451,10 @@ The \"Bogofilter tuning HOWTO\" describes how you can fine-tune Bogofilter." nil "-s")))) ;;;###mh-autoload -(defun mh-bogofilter-whitelist (msg) - "Whitelist MSG with bogofilter. +(defun mh-bogofilter-allowlist (msg) + "Allowlist MSG with bogofilter. -See `mh-bogofilter-blacklist' for more information." +See `mh-bogofilter-blocklist' for more information." (unless mh-bogofilter-executable (error "Unable to find the bogofilter executable")) (let ((msg-file (mh-msg-filename msg mh-current-folder))) @@ -465,8 +472,8 @@ See `mh-bogofilter-blacklist' for more information." (defvar mh-spamprobe-executable (executable-find "spamprobe")) ;;;###mh-autoload -(defun mh-spamprobe-blacklist (msg) - "Blacklist MSG with SpamProbe. +(defun mh-spamprobe-blocklist (msg) + "Blocklist MSG with SpamProbe. SpamProbe is a Bayesian spam filtering program. Get it from your local distribution or from the SpamProbe web site at URL @@ -489,7 +496,7 @@ To use SpamProbe, add the following recipes to \".procmailrc\": spam/. If SpamProbe classifies a message incorrectly, you can use the -MH-E commands \\[mh-junk-blacklist] and \\[mh-junk-whitelist] to +MH-E commands \\[mh-junk-blocklist] and \\[mh-junk-allowlist] to update SpamProbe's training." (unless mh-spamprobe-executable (error "Unable to find the spamprobe executable")) @@ -502,10 +509,10 @@ update SpamProbe's training." nil "spam")))) ;;;###mh-autoload -(defun mh-spamprobe-whitelist (msg) - "Whitelist MSG with SpamProbe. +(defun mh-spamprobe-allowlist (msg) + "Allowlist MSG with SpamProbe. -See `mh-spamprobe-blacklist' for more information." +See `mh-spamprobe-blocklist' for more information." (unless mh-spamprobe-executable (error "Unable to find the spamprobe executable")) (let ((msg-file (mh-msg-filename msg mh-current-folder))) diff --git a/lisp/mh-e/mh-scan.el b/lisp/mh-e/mh-scan.el index 15049793adf..10235209dce 100644 --- a/lisp/mh-e/mh-scan.el +++ b/lisp/mh-e/mh-scan.el @@ -113,8 +113,8 @@ expression which matches the body text as in the default of not correct, the body fragment will not be highlighted with the face `mh-folder-body'.") -(defvar mh-scan-blacklisted-msg-regexp "^\\( *[0-9]+\\)B" - "This regular expression matches blacklisted (spam) messages. +(defvar mh-scan-blocklisted-msg-regexp "^\\( *[0-9]+\\)B" + "This regular expression matches blocklisted (spam) messages. It must match from the beginning of the line. Note that the default setting of `mh-folder-font-lock-keywords' expects this @@ -125,9 +125,9 @@ matches the message number as in the default of This expression includes the leading space within parenthesis since it looks better to highlight it as well. The highlighting -is done with the face `mh-folder-blacklisted'. This regular +is done with the face `mh-folder-blocklisted'. This regular expression should be correct as it is needed by non-fontification -functions. See also `mh-note-blacklisted'.") +functions. See also `mh-note-blocklisted'.") (defvar mh-scan-cur-msg-number-regexp "^\\( *[0-9]+\\+\\).*" "This regular expression matches the current message. @@ -295,21 +295,21 @@ non-fontification functions.") This is used to eliminate error messages that are occasionally produced by \"inc\".") -(defvar mh-scan-whitelisted-msg-regexp "^\\( *[0-9]+\\)W" - "This regular expression matches whitelisted (non-spam) messages. +(defvar mh-scan-allowlisted-msg-regexp "^\\( *[0-9]+\\)A" + "This regular expression matches allowlisted (non-spam) messages. It must match from the beginning of the line. Note that the default setting of `mh-folder-font-lock-keywords' expects this expression to contain at least one parenthesized expression which matches the message number as in the default of - \"^\\\\( *[0-9]+\\\\)W\". + \"^\\\\( *[0-9]+\\\\)A\". This expression includes the leading space within parenthesis since it looks better to highlight it as well. The highlighting -is done with the face `mh-folder-whitelisted'. This regular +is done with the face `mh-folder-allowlisted'. This regular expression should be correct as it is needed by non-fontification -functions. See also `mh-note-whitelisted'.") +functions. See also `mh-note-allowlisted'.") @@ -333,8 +333,8 @@ This column will have one of the values: \" \", \"^\", \"D\", \"B\", \"W\", \"+\ \" \" is the default value, \"^\" is the `mh-note-refiled' character, \"D\" is the `mh-note-deleted' character, - \"B\" is the `mh-note-blacklisted' character, - \"W\" is the `mh-note-whitelisted' character, and + \"B\" is the `mh-note-blocklisted' character, + \"A\" is the `mh-note-allowlisted' character, and \"+\" is the `mh-note-cur' character.") (defvar mh-scan-destination-width 1 @@ -399,9 +399,9 @@ This column will only ever have spaces in it.") ;; Alphabetical. -(defvar mh-note-blacklisted ?B - "Messages that have been blacklisted are marked by this character. -See also `mh-scan-blacklisted-msg-regexp'.") +(defvar mh-note-blocklisted ?B + "Messages that have been blocklisted are marked by this character. +See also `mh-scan-blocklisted-msg-regexp'.") (defvar mh-note-cur ?+ "The current message (in MH, not in MH-E) is marked by this character. @@ -436,9 +436,9 @@ See also `mh-scan-refiled-msg-regexp'.") Messages in the \"search\" sequence are marked by this character as well.") -(defvar mh-note-whitelisted ?W - "Messages that have been whitelisted are marked by this character. -See also `mh-scan-whitelisted-msg-regexp'.") +(defvar mh-note-allowlisted ?A + "Messages that have been allowlisted are marked by this character. +See also `mh-scan-allowlisted-msg-regexp'.") diff --git a/lisp/mh-e/mh-search.el b/lisp/mh-e/mh-search.el index b3a250bf13a..e03c9dc83f7 100644 --- a/lisp/mh-e/mh-search.el +++ b/lisp/mh-e/mh-search.el @@ -1448,7 +1448,7 @@ being the list of messages originally from that folder." (defun mh-index-execute-commands () "Perform the outstanding operations on the actual messages. The copies in the searched folder are then deleted, refiled, -blacklisted and whitelisted to get the desired result. Before +blocklisted and allowlisted to get the desired result. Before processing the messages we make sure that the message is identical to the one that the user has marked in the index buffer." @@ -1465,12 +1465,12 @@ buffer." (with-current-buffer folder (let ((old-refile-list mh-refile-list) (old-delete-list mh-delete-list) - (old-blacklist mh-blacklist) - (old-whitelist mh-whitelist)) + (old-blocklist mh-blocklist) + (old-allowlist mh-allowlist)) (setq mh-refile-list nil mh-delete-list msgs - mh-blacklist nil - mh-whitelist nil) + mh-blocklist nil + mh-allowlist nil) (unwind-protect (mh-execute-commands) (setq mh-refile-list (mapcar (lambda (x) @@ -1482,11 +1482,11 @@ buffer." mh-delete-list (cl-loop for x in old-delete-list unless (memq x msgs) collect x) - mh-blacklist - (cl-loop for x in old-blacklist + mh-blocklist + (cl-loop for x in old-blocklist unless (memq x msgs) collect x) - mh-whitelist - (cl-loop for x in old-whitelist + mh-allowlist + (cl-loop for x in old-allowlist unless (memq x msgs) collect x)) (mh-set-folder-modified-p (mh-outstanding-commands-p)) (when (mh-outstanding-commands-p) @@ -1494,8 +1494,8 @@ buffer." (mh-index-matching-source-msgs (append (cl-loop for x in mh-refile-list append (cdr x)) mh-delete-list - mh-blacklist - mh-whitelist) + mh-blocklist + mh-allowlist) t)) folders))) diff --git a/lisp/mh-e/mh-show.el b/lisp/mh-e/mh-show.el index aa97f5cb383..803f07e02b2 100644 --- a/lisp/mh-e/mh-show.el +++ b/lisp/mh-e/mh-show.el @@ -463,8 +463,10 @@ still visible.\n") (mh-defun-show-buffer mh-show-index-visit-folder mh-index-visit-folder t) (mh-defun-show-buffer mh-show-toggle-tick mh-toggle-tick) (mh-defun-show-buffer mh-show-narrow-to-tick mh-narrow-to-tick) -(mh-defun-show-buffer mh-show-junk-blacklist mh-junk-blacklist) -(mh-defun-show-buffer mh-show-junk-whitelist mh-junk-whitelist) +(mh-defun-show-buffer mh-show-junk-allowlist mh-junk-allowlist) +(mh-defun-show-buffer mh-show-junk-whitelist mh-junk-allowlist) +(make-obsolete 'mh-show-junk-whitelist 'mh-show-junk-allowlist "28.1") +(mh-defun-show-buffer mh-show-junk-blocklist mh-junk-blocklist) (mh-defun-show-buffer mh-show-index-new-messages mh-index-new-messages) (mh-defun-show-buffer mh-show-index-ticked-messages mh-index-ticked-messages) (mh-defun-show-buffer mh-show-index-sequenced-messages @@ -633,7 +635,8 @@ still visible.\n") (gnus-define-keys (mh-show-junk-map "J" mh-show-mode-map) "?" mh-prefix-help - "b" mh-show-junk-blacklist + "a" mh-show-junk-allowlist + "b" mh-show-junk-blocklist "w" mh-show-junk-whitelist) (gnus-define-keys (mh-show-ps-print-map "P" mh-show-mode-map) -- cgit v1.2.3 From 3f70e8560958a2fe648c9536380d1f8bf804d07d Mon Sep 17 00:00:00 2001 From: Stephen Gildea Date: Fri, 30 Jul 2021 06:32:41 -0700 Subject: ; fix 2 typos in MH-E comments * lisp/mh-e/ChangeLog.1: fix typo * lisp/mh-e/mh-junk.el (mh-junk-allowlist): fix verb tense --- lisp/mh-e/ChangeLog.1 | 2 +- lisp/mh-e/mh-junk.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lisp/mh-e/mh-junk.el') diff --git a/lisp/mh-e/ChangeLog.1 b/lisp/mh-e/ChangeLog.1 index f1aeca65479..b0fdd02e3b3 100644 --- a/lisp/mh-e/ChangeLog.1 +++ b/lisp/mh-e/ChangeLog.1 @@ -11196,7 +11196,7 @@ instead of "0 msgs". Do not try to print a range when there are no messages. * mh-e.el (mh-regenerate-headers): Bug fix. Catch and remove the - "scan: band message list" message. + "scan: bad message list" message. 2001-11-13 Jeffrey C Honig diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index cf9cf721e06..0890cb68393 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el @@ -118,7 +118,7 @@ message(s) as specified by the option `mh-junk-disposition'." (defun mh-junk-allowlist (range) "Allowlist RANGE as ham. -This command reclassifies the RANGE as ham if it were incorrectly +This command reclassifies the RANGE as ham if it has been incorrectly classified as spam (see the option `mh-junk-program'). It then refiles the message into the \"+inbox\" folder. -- cgit v1.2.3 From d160d1aff5a17e56d23768adb1beba950440d0d9 Mon Sep 17 00:00:00 2001 From: Stephen Gildea Date: Sun, 1 Aug 2021 21:00:37 -0700 Subject: mh-junk: adjust messages for allow/block actions * lisp/mh-e/mh-junk.el: Remove messages that get overwritten quickly. Keep messages that give status for slow operations. Add information that might be useful for debugging failures. --- lisp/mh-e/mh-junk.el | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) (limited to 'lisp/mh-e/mh-junk.el') diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index 0890cb68393..6c3674811b0 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el @@ -103,9 +103,7 @@ message(s) as specified by the option `mh-junk-disposition'." (unless blocklist-func (error "Customize `mh-junk-program' appropriately")) (mh-iterate-on-range msg range - (message "Blocklisting message %d..." msg) - (funcall (symbol-function blocklist-func) msg) - (message "Blocklisting message %d...done" msg)))) + (funcall (symbol-function blocklist-func) msg)))) ;;;###mh-autoload (defun mh-junk-whitelist (range) @@ -165,9 +163,7 @@ classified as spam (see the option `mh-junk-program')." (unless allowlist-func (error "Customize `mh-junk-program' appropriately")) (mh-iterate-on-range msg range - (message "Allowlisting message %d..." msg) - (funcall (symbol-function allowlist-func) msg) - (message "Allowlisting message %d...done" msg)))) + (funcall (symbol-function allowlist-func) msg)))) @@ -256,16 +252,16 @@ information can be used so that you can replace multiple (let ((current-folder mh-current-folder) (msg-file (mh-msg-filename msg mh-current-folder)) (sender)) - (message "Reporting message %d..." msg) + (message "Reporting message %d as spam with spamassassin..." msg) (mh-truncate-log-buffer) ;; Put call-process output in log buffer if we are saving it ;; (this happens if mh-junk-background is t). (with-current-buffer mh-log-buffer (call-process mh-spamassassin-executable msg-file mh-junk-background nil - ;; -R removes from allow-list + ;; -R removes from allowlist "--report" "-R") (when mh-sa-learn-executable - (message "Recategorizing message %d as spam..." msg) + (message "Recategorizing message %d as spam with sa-learn..." msg) (mh-truncate-log-buffer) (call-process mh-sa-learn-executable msg-file mh-junk-background nil "--spam" "--local" "--no-sync"))) @@ -307,7 +303,7 @@ See `mh-spamassassin-blocklist' for more information." (kill-buffer show-buffer)) (write-file msg-file) (when mh-sa-learn-executable - (message "Recategorizing message %d as ham..." msg) + (message "Recategorizing message %d as ham with sa-learn..." msg) (mh-truncate-log-buffer) ;; Put call-process output in log buffer if we are saving it ;; (this happens if mh-junk-background is t). @@ -319,9 +315,11 @@ See `mh-spamassassin-blocklist' for more information." (car (mh-funcall-if-exists ietf-drums-parse-address (mh-get-header-field "From:")))) (kill-buffer nil) - (unless (or (null from) (equal from "")) - (mh-spamassassin-add-rule "whitelist_from" from)) - (message "Allowlisting sender of message %d...done" msg)))) + (if (or (null from) (equal from "")) + (message "Allowlisting sender of message %d...%s" + msg "not done (cannot identify sender)") + (mh-spamassassin-add-rule "whitelist_from" from) + (message "Allowlisting sender of message %d...done" msg))))) (defun mh-spamassassin-add-rule (rule body) "Add a new rule to \"~/.spamassassin/user_prefs\". @@ -442,13 +440,15 @@ occasionally to shrink the database: The \"Bogofilter tuning HOWTO\" describes how you can fine-tune Bogofilter." (unless mh-bogofilter-executable (error "Unable to find the bogofilter executable")) + (message "Blocklisting message %d with bogofilter..." msg) (let ((msg-file (mh-msg-filename msg mh-current-folder))) (mh-truncate-log-buffer) ;; Put call-process output in log buffer if we are saving it ;; (this happens if mh-junk-background is t). (with-current-buffer mh-log-buffer (call-process mh-bogofilter-executable msg-file mh-junk-background - nil "-s")))) + nil "-s") + (message "Blocklisting message %d with bogofilter...done" msg)))) ;;;###mh-autoload (defun mh-bogofilter-allowlist (msg) @@ -457,13 +457,15 @@ The \"Bogofilter tuning HOWTO\" describes how you can fine-tune Bogofilter." See `mh-bogofilter-blocklist' for more information." (unless mh-bogofilter-executable (error "Unable to find the bogofilter executable")) + (message "Allowlisting message %d with bogofilter..." msg) (let ((msg-file (mh-msg-filename msg mh-current-folder))) (mh-truncate-log-buffer) ;; Put call-process output in log buffer if we are saving it ;; (this happens if mh-junk-background is t). (with-current-buffer mh-log-buffer (call-process mh-bogofilter-executable msg-file mh-junk-background - nil "-n")))) + nil "-n") + (message "Allowlisting message %d with bogofilter...done" msg)))) @@ -500,13 +502,15 @@ MH-E commands \\[mh-junk-blocklist] and \\[mh-junk-allowlist] to update SpamProbe's training." (unless mh-spamprobe-executable (error "Unable to find the spamprobe executable")) + (message "Blocklisting message %d with spamprobe..." msg) (let ((msg-file (mh-msg-filename msg mh-current-folder))) (mh-truncate-log-buffer) ;; Put call-process output in log buffer if we are saving it ;; (this happens if mh-junk-background is t). (with-current-buffer mh-log-buffer (call-process mh-spamprobe-executable msg-file mh-junk-background - nil "spam")))) + nil "spam") + (message "Blocklisting message %d with spamprobe...done" msg)))) ;;;###mh-autoload (defun mh-spamprobe-allowlist (msg) @@ -515,13 +519,15 @@ update SpamProbe's training." See `mh-spamprobe-blocklist' for more information." (unless mh-spamprobe-executable (error "Unable to find the spamprobe executable")) + (message "Allowlisting message %d with spamprobe..." msg) (let ((msg-file (mh-msg-filename msg mh-current-folder))) (mh-truncate-log-buffer) ;; Put call-process output in log buffer if we are saving it ;; (this happens if mh-junk-background is t). (with-current-buffer mh-log-buffer (call-process mh-spamprobe-executable msg-file mh-junk-background - nil "good")))) + nil "good") + (message "Allowlisting message %d with spamprobe...done" msg)))) (provide 'mh-junk) -- cgit v1.2.3