unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#33224: `message-simplify-subject' simplification (and extensibility)
@ 2018-11-01  6:21 Garreau, Alexandre
  2019-05-13 20:36 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 2+ messages in thread
From: Garreau, Alexandre @ 2018-11-01  6:21 UTC (permalink / raw)
  To: 33224

[-- Attachment #1: Type: text/plain, Size: 592 bytes --]

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.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: message-simplify-subject.patch --]
[-- Type: text/x-diff, Size: 2049 bytes --]

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)

[-- Attachment #3: Type: text/plain, Size: 106 bytes --]


Gnus v5.13
GNU Emacs 25.1.1 (i686-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2017-09-15, modified by Debian

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-05-13 20:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-01  6:21 bug#33224: `message-simplify-subject' simplification (and extensibility) Garreau, Alexandre
2019-05-13 20:36 ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).