mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-31 20:02:42 +00:00
* lisp/gnus/gnus-msg.el (gnus-configure-posting-style):
Allow string replacements in values when matching against a header. * doc/misc/gnus.texi (Posting Styles): Document the possibility to perform string replacements when matching against headers.
This commit is contained in:
parent
0e6040770c
commit
32a608307c
@ -1,3 +1,8 @@
|
||||
2014-07-18 Albert Krewinkel <albert+gnus@zeitkraut.de>
|
||||
|
||||
* gnus.texi (Posting Styles): Document the possibility to perform
|
||||
string replacements when matching against headers.
|
||||
|
||||
2014-07-09 Stephen Berman <stephen.berman@gmx.net>
|
||||
|
||||
* todo-mode.texi (Levels of Organization): Comment out statement
|
||||
|
@ -12813,10 +12813,12 @@ variable, which is a vector of the following headers: number subject
|
||||
from date id references chars lines xref extra.
|
||||
|
||||
In the case of a string value, if the @code{match} is a regular
|
||||
expression, a @samp{gnus-match-substitute-replacement} is proceed on
|
||||
the value to replace the positional parameters @samp{\@var{n}} by the
|
||||
corresponding parenthetical matches (see @xref{Replacing Match,,
|
||||
Replacing the Text that Matched, elisp, The Emacs Lisp Reference Manual}.)
|
||||
expression, or if it takes the form @code{(header @var{match}
|
||||
@var{regexp})}, a @samp{gnus-match-substitute-replacement} is proceed
|
||||
on the value to replace the positional parameters @samp{\@var{n}} by
|
||||
the corresponding parenthetical matches (see @xref{Replacing Match,,
|
||||
Replacing the Text that Matched, elisp, The Emacs Lisp Reference
|
||||
Manual}.)
|
||||
|
||||
@vindex message-reply-headers
|
||||
|
||||
@ -12848,6 +12850,10 @@ So here's a new example:
|
||||
;; @r{If I'm replying to Larsi, set the Organization header.}
|
||||
((header "from" "larsi.*org")
|
||||
(Organization "Somewhere, Inc."))
|
||||
;; @r{Reply to a message from the same subaddress the message}
|
||||
;; @r{was sent to.}
|
||||
((header "x-original-to" "me\\(\\+.+\\)@@example.org")
|
||||
(address "me\\1@@example.org"))
|
||||
((posting-from-work-p) ;; @r{A user defined function}
|
||||
(signature-file "~/.work-signature")
|
||||
(address "user@@bar.foo")
|
||||
|
@ -1,3 +1,8 @@
|
||||
2013-07-17 Albert Krewinkel <albert@zeitkraut.de>
|
||||
|
||||
* gnus-msg.el (gnus-configure-posting-style):
|
||||
Allow string replacements in values when matching against a header.
|
||||
|
||||
2014-07-07 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus-start.el (gnus-dribble-read-file): Don't stop the auto-saving of
|
||||
|
@ -1826,7 +1826,7 @@ this is a reply."
|
||||
(with-current-buffer gnus-summary-buffer
|
||||
gnus-posting-styles)
|
||||
gnus-posting-styles))
|
||||
style match attribute value v results
|
||||
style match attribute value v results matched-string
|
||||
filep name address element)
|
||||
;; If the group has a posting-style parameter, add it at the end with a
|
||||
;; regexp matching everything, to be sure it takes precedence over all
|
||||
@ -1846,7 +1846,9 @@ this is a reply."
|
||||
(when (cond
|
||||
((stringp match)
|
||||
;; Regexp string match on the group name.
|
||||
(string-match match group))
|
||||
(when (string-match match group)
|
||||
(setq matched-string group)
|
||||
t))
|
||||
((eq match 'header)
|
||||
;; Obsolete format of header match.
|
||||
(and (gnus-buffer-live-p gnus-article-copy)
|
||||
@ -1875,7 +1877,8 @@ this is a reply."
|
||||
(nnheader-narrow-to-headers)
|
||||
(let ((header (message-fetch-field (nth 1 match))))
|
||||
(and header
|
||||
(string-match (nth 2 match) header)))))))
|
||||
(string-match (nth 2 match) header)
|
||||
(setq matched-string header)))))))
|
||||
(t
|
||||
;; This is a form to be evalled.
|
||||
(eval match)))))
|
||||
@ -1896,10 +1899,11 @@ this is a reply."
|
||||
(setq v
|
||||
(cond
|
||||
((stringp value)
|
||||
(if (and (stringp match)
|
||||
(if (and matched-string
|
||||
(gnus-string-match-p "\\\\[&[:digit:]]" value)
|
||||
(match-beginning 1))
|
||||
(gnus-match-substitute-replacement value nil nil group)
|
||||
(gnus-match-substitute-replacement value nil nil
|
||||
matched-string)
|
||||
value))
|
||||
((or (symbolp value)
|
||||
(functionp value))
|
||||
|
Loading…
Reference in New Issue
Block a user