]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix handling of IMAP search strings
authorEric Abrahamsen <eric@ericabrahamsen.net>
Fri, 6 May 2022 17:14:08 +0000 (10:14 -0700)
committerEric Abrahamsen <eric@ericabrahamsen.net>
Fri, 6 May 2022 17:15:51 +0000 (10:15 -0700)
* lisp/gnus/gnus-search.el (gnus-search-imap-handle-string): This was
a misunderstanding of what `multibyte-string-p' means.  The check was
actually supposed to be whether the string was non-ascii or not.

lisp/gnus/gnus-search.el

index 17724c3a514ecb54e404bee2657bedd164bd6881..369df81d9bd413ce4104ef1bfa27a1686f5f920a 100644 (file)
@@ -1337,7 +1337,11 @@ elements are present."
 (cl-defmethod gnus-search-imap-handle-string ((engine gnus-search-imap)
                                              (str string))
   (with-slots (literal-plus) engine
-    (if (multibyte-string-p str)
+    ;; TODO: Figure out how Exchange IMAP servers actually work.  They
+    ;; do not accept any CHARSET but US-ASCII, but they do report
+    ;; Literal+ capability.  So what do we do?  Will quoted strings
+    ;; always work?
+    (if (string-match-p "[^[:ascii:]]" str)
        ;; If LITERAL+ is available, use it and encode string as
        ;; UTF-8.
        (if literal-plus