summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/gnus-score.el7
2 files changed, 10 insertions, 2 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index d55f89c28b6..5c148b825e6 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
+2009-02-04 Andreas Schwab <schwab@suse.de>
+
+ * gnus-score.el (gnus-score-string): Fix regex for matching extra
+ headers and regexp-quote the match if necessary.
+
2009-03-24 Miles Bader <miles@gnu.org>
* smiley.el (smiley-regexp-alist): Don't delete the semicolon before
diff --git a/lisp/gnus/gnus-score.el b/lisp/gnus/gnus-score.el
index 26c01229e33..8cfd3d5ad01 100644
--- a/lisp/gnus/gnus-score.el
+++ b/lisp/gnus/gnus-score.el
@@ -2055,8 +2055,11 @@ score in `gnus-newsgroup-scored' by SCORE."
;; Evil hackery to make match usable in non-standard headers.
(when extra
- (setq match (concat "[ (](" extra " \\. \"[^)]*"
- match "[^\"]*\")[ )]")
+ (setq match (concat "[ (](" extra " \\. \"\\([^\"]*\\\\\"\\)*[^\"]*"
+ (if (eq search-func 're-search-forward)
+ match
+ (regexp-quote match))
+ "\\([^\"]*\\\\\"\\)*[^\"]*\")[ )]")
search-func 're-search-forward)) ; XXX danger?!?
(cond