From: Eric Abrahamsen Date: Fri, 6 May 2022 17:14:08 +0000 (-0700) Subject: Fix handling of IMAP search strings X-Git-Tag: emacs-29.0.90~1931^2~10 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c57a6644ef97b3197c35c0c3ade60acd5607eef4;p=emacs.git Fix handling of IMAP search strings * 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. --- diff --git a/lisp/gnus/gnus-search.el b/lisp/gnus/gnus-search.el index 17724c3a514..369df81d9bd 100644 --- a/lisp/gnus/gnus-search.el +++ b/lisp/gnus/gnus-search.el @@ -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