[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#33224: `message-simplify-subject' simplification (and extensibility)
From: |
Garreau, Alexandre |
Subject: |
bug#33224: `message-simplify-subject' simplification (and extensibility) |
Date: |
Thu, 01 Nov 2018 07:21:13 +0100 |
User-agent: |
Gnus (5.13), GNU Emacs 25.1.1 (i686-pc-linux-gnu, GTK+ Version 3.22.11) of 2017-09-15, modified by Debian |
Hi, here a patch simplyfing `message-simplify-subject' to make it
extensible (users can now add their own tailor-made one-arg function to
`message-simplify-subject-functions'), by removing all the explicit
checks and funcall, and just calling all the functions (implicit check
for `message-strip-list-identifiers' is moved to its body, and one for
`message-strip-subject-re' is removed based on previous patch from
<Bug#33200>).
This is my second patch, please tell-me if there’s a problem anywhere.
Not sure if I know how to make patch properly, nor to report bugs
properly.
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 0c743bd3aa..acd581226a 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -2052,8 +2052,9 @@ see `message-narrow-to-headers-or-head'."
(let ((regexp (if (stringp gnus-list-identifiers)
gnus-list-identifiers
(mapconcat 'identity gnus-list-identifiers " *\\|"))))
- (if (string-match (concat "\\(\\(\\(Re: +\\)?\\(" regexp
- " *\\)\\)+\\(Re: +\\)?\\)") subject)
+ (if (and (not (equal regexp ""))
+ (string-match (concat "\\(\\(\\(Re: +\\)?\\(" regexp
+ " *\\)\\)+\\(Re: +\\)?\\)") subject))
(concat (substring subject 0 (match-beginning 1))
(or (match-string 3 subject)
(match-string 5 subject))
@@ -6942,21 +6943,12 @@ Useful functions to put in this list include:
:type '(repeat function))
(defun message-simplify-subject (subject &optional functions)
- "Return simplified SUBJECT."
- (unless functions
- ;; Simplify fully:
- (setq functions message-simplify-subject-functions))
- (when (and (memq 'message-strip-list-identifiers functions)
- gnus-list-identifiers)
- (setq subject (message-strip-list-identifiers subject)))
- (when (memq 'message-strip-subject-re functions)
- (setq subject (message-strip-subject-re subject))))
- (when (and (memq 'message-strip-subject-trailing-was functions)
- message-subject-trailing-was-query)
- (setq subject (message-strip-subject-trailing-was subject)))
- (when (memq 'message-strip-subject-encoded-words functions)
- (setq subject (message-strip-subject-encoded-words subject)))
- subject)
+ "Return simplified SUBJECT.
+Do so by calling each one-argument function in the list of functions
+specified by FUNCTIONS, if non-nil, or by the variable
+`message-simplify-subject-functions' otherwise."
+ (dolist (fun (or functions message-simplify-subject-functions) subject)
+ (setq subject (funcall fun subject))))
;;;###autoload
(defun message-reply (&optional to-address wide switch-function)
Gnus v5.13
GNU Emacs 25.1.1 (i686-pc-linux-gnu, GTK+ Version 3.22.11)
of 2017-09-15, modified by Debian
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#33224: `message-simplify-subject' simplification (and extensibility),
Garreau, Alexandre <=