]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix to 7f21251a56, don't parse address key
authorEric Abrahamsen <eric@ericabrahamsen.net>
Sun, 4 Jun 2017 01:47:35 +0000 (09:47 +0800)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Sat, 10 Jun 2017 04:28:10 +0000 (12:28 +0800)
* lisp/gnus/gnus-search.el (gnus-search-transform-expression): There's
  no need to parenthesize those expressions. Nested parentheses
  actually raise a parsing error, which is another bug.

lisp/gnus/gnus-search.el

index e799374553c0c464183e5d01a9fcf7a2bbb96851..62af67497298f22749636fa456002a120e3744e8 100644 (file)
@@ -748,6 +748,9 @@ character, and return everything between point and the next
 occurance of the delimiter, including the delimiters themselves.
 If TRIM is non-nil, do not return the delimiters. Otherwise,
 return one word."
+  ;; This function cannot handle nested delimiters, as it's not a
+  ;; proper parser.  Ie, you cannot parse "to:bob or (from:bob or
+  ;; (cc:bob or bcc:bob))".
   (let ((start (point))
        (delimiter (if (stringp delimited)
                       delimited
@@ -1296,13 +1299,13 @@ boolean instead."
       (gnus-search-transform
        engine (gnus-search-parse-query
               (format
-              "to:%s or (cc:%s or bcc:%s)"
+              "to:%s or cc:%s or bcc:%s"
               (cdr expr) (cdr expr) (cdr expr)))))
      ((eq (car expr) 'address)
       (gnus-search-transform
        engine (gnus-search-parse-query
               (format
-              "from:%s or (to:%s or (cc:%s or bcc:%s))"
+              "from:%s or to:%s or cc:%s or bcc:%s"
               (cdr expr) (cdr expr) (cdr expr) (cdr expr)))))
      ((memq (car expr) '(before since on sentbefore senton sentsince))
       ;; Ignore dates given as strings.