]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve support of "Re:" in Rmail
authorEli Zaretskii <eliz@gnu.org>
Mon, 13 Apr 2020 08:43:39 +0000 (11:43 +0300)
committerEli Zaretskii <eliz@gnu.org>
Mon, 13 Apr 2020 08:43:39 +0000 (11:43 +0300)
* lisp/mail/rmail.el (rmail-simplified-subject)
(rmail-reply-regexp): Recognize U+FF1A FULLWIDTH COLON as a colon
after "Re:"-type prefixes.
(rmail-re-abbrevs): New defcustom with localized abbreviations of
"Re:".
(rmail-reply-regexp): Use 'rmail-re-abbrevs'.  Recognize U+FF1A
in addition to the ASCII colon.

* etc/NEWS: Call out the new defcustom 'rmail-re-abbrevs'.

etc/NEWS
lisp/mail/rmail.el

index 7a7f11f5071146bdb61ed088eff2a41b14d46aff..9f3e5b650b57fc752ea34aba3a609bf1426787a2 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -275,6 +275,13 @@ The new default value is 2000000 (2 megabytes).
 *** New customizable option 'texinfo-texi2dvi-options'.
 This is used when invoking 'texi2dvi' from 'texinfo-tex-buffer'.
 
+** Rmail
+
+---
+*** New customizable option 'rmail-re-abbrevs'.
+Its default value matches localized abbreviations of the "reply"
+prefix on the Subject line in various languages.
+
 \f
 * New Modes and Packages in Emacs 28.1
 
index d79cea987e9482f0ec7bf1b340b998caae119145..6c9847304fd9e089f693f38863c1b850aec8a30f 100644 (file)
@@ -578,11 +578,21 @@ Examples:
 (defvar rmail-reply-prefix "Re: "
   "String to prepend to Subject line when replying to a message.")
 
+;; Note: this is matched with case-fold-search bound to t.
+(defcustom rmail-re-abbrevs
+  "\\(RE\\|رد\\|回复\\|回覆\\|SV\\|Antw\\|VS\\|REF\\|AW\\|ΑΠ\\|ΣΧΕΤ\\|השב\\|Vá\\|R\\|RIF\\|BLS\\|RES\\|Odp\\|YNT\\|ATB\\)"
+  "Regexp with localized 'Re:' abbreviations in various languages."
+  :version "28.1"
+  :type 'regexp)
+
 ;; Some mailers use "Re(2):" or "Re^2:" or "Re: Re:" or "Re[2]:".
 ;; This pattern should catch all the common variants.
 ;; rms: I deleted the change to delete tags in square brackets
 ;; because they mess up RT tags.
-(defvar rmail-reply-regexp "\\`\\(Re\\(([0-9]+)\\|\\[[0-9]+\\]\\|\\^[0-9]+\\)?: *\\)*"
+(defvar rmail-reply-regexp
+  (concat "\\`\\("
+          rmail-re-abbrevs
+          "\\(([0-9]+)\\|\\[[0-9]+\\]\\|\\^[0-9]+\\)?[::] *\\)*")
   "Regexp to delete from Subject line before inserting `rmail-reply-prefix'.")
 
 (defcustom rmail-display-summary nil
@@ -3398,7 +3408,7 @@ whitespace, replacing whitespace runs with a single space and
 removing prefixes such as Re:, Fwd: and so on and mailing list
 tags such as [tag]."
   (let ((subject (or (rmail-get-header "Subject" msgnum) ""))
-       (regexp "\\`[ \t\n]*\\(\\(\\w\\{1,3\\}:\\|\\[[^]]+]\\)[ \t\n]+\\)*"))
+       (regexp "\\`[ \t\n]*\\(\\(\\w\\{1,3\\}[::]\\|\\[[^]]+]\\)[ \t\n]+\\)*"))
     (setq subject (rfc2047-decode-string subject))
     (setq subject (replace-regexp-in-string regexp "" subject))
     (replace-regexp-in-string "[ \t\n]+" " " subject)))