]> git.eshelyaron.com Git - emacs.git/commitdiff
IMAP search should only use charset utf-8 with multibyte strings
authorEric Abrahamsen <eric@ericabrahamsen.net>
Mon, 25 Oct 2021 16:39:52 +0000 (09:39 -0700)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Mon, 25 Oct 2021 16:55:12 +0000 (09:55 -0700)
Background: Exchange servers cannot accept "charset utf-8" search
strings. The code originally set that charset for any server with
literal+ capability, borking all searches on an Exchange server. This
code only sets utf-8 for multibyte search strings in particular, which
would be borken for Exchange anyway.

* lisp/gnus/gnus-search.el (gnus-search-imap-search-command): Ensure
we're only doing the literal+ dance for multibyte strings (multibyte
strings will have had newlines inserted in an earlier step).

lisp/gnus/gnus-search.el

index 9c83d5fa3768a59ced0b576f86f79e1d8a8ad989..315735880465ea9fccc02fd38b654965561200ec 100644 (file)
@@ -1084,7 +1084,8 @@ Responsible for handling and, or, and parenthetical expressions.")
 Currently takes into account support for the LITERAL+ capability.
 Other capabilities could be tested here."
   (with-slots (literal-plus) engine
-    (when literal-plus
+    (when (and literal-plus
+               (string-match-p "\n" query))
       (setq query (split-string query "\n")))
     (cond
      ((consp query)