From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 6263 invoked from network); 6 May 2022 17:33:21 -0000 Received: from mx1.math.uh.edu (129.7.128.32) by inbox.vuxu.org with ESMTPUTF8; 6 May 2022 17:33:21 -0000 Received: from lists1.math.uh.edu ([129.7.128.208]) by mx1.math.uh.edu with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nn1pO-0048T7-UI for ml@inbox.vuxu.org; Fri, 06 May 2022 12:33:19 -0500 Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by lists1.math.uh.edu with smtp (Exim 4.94.2) (envelope-from ) id 1nn1pO-008LGm-A5 for ml@inbox.vuxu.org; Fri, 06 May 2022 12:33:18 -0500 Received: from mx1.math.uh.edu ([129.7.128.32]) by lists1.math.uh.edu with esmtp (Exim 4.94.2) (envelope-from ) id 1nn1pL-008LGd-Sz for ding@lists.math.uh.edu; Fri, 06 May 2022 12:33:15 -0500 Received: from quimby.gnus.org ([95.216.78.240]) by mx1.math.uh.edu with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nn1pJ-0048Sr-L2 for ding@lists.math.uh.edu; Fri, 06 May 2022 12:33:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:Mime-Version:Message-ID :Date:Subject:From:To:Sender:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=EiBRgdDfvVONtXNKhS2pF89iS5vIYlFjQsG74T+KNKA=; b=AsXdWFUA8xU+gBGKQkLYoqlrYE gGO1fy+P8SidryA1mt3ey/bIgVf2R+iHIAph+zp9ZFaPyejwryC+PXOUpmYXEBzSUnpqqu7ybqlSB W9nMQbZEUcX4dwDpQKCP49tP/qhM7aSc4pksTrF53kMF7NBDuv8SVz3jh97IhCokxEYA=; Received: from ciao.gmane.io ([116.202.254.214]) by quimby.gnus.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nn1pC-0000uM-Ky for ding@gnus.org; Fri, 06 May 2022 19:33:08 +0200 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1nn1p9-0000Ap-SN for ding@gnus.org; Fri, 06 May 2022 19:33:03 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: ding@gnus.org From: Eric Abrahamsen Subject: Help testing Exchange IMAP server search? Date: Fri, 06 May 2022 10:32:51 -0700 Message-ID: <871qx6ftx8.fsf@ericabrahamsen.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cancel-Lock: sha1:ev8xO8L7rE0NIxj1vdFIalO2Yms= List-ID: Precedence: bulk Hey can someone(s) with an IMAP account on a Microsoft Exchange server, who is running Emacs from master, help me test search capability? I just pushed a change to gnus-search that will help improve search handling for Exchange servers, but there's more work to do. In a nutshell: Exchange advertises the LITERAL+ capability. But it only accepts searches using the US-ASCII charset. Right now, if the code sees a non-ascii search string, and the server has LITERAL+, it will encode the string using the literal+ format and send CHARSET UTF-8, which results in an error from Exchange. The other option is to ignore Exchange's LITERAL+ capability, and put double quotes around the non-ascii string. I don't know if that will work or not, that's what I need help testing. I'm hoping someone will: 1. Pull and build today's Emacs code. 2. Search an ascii-only string like "FROM eric" (it doesn't matter if you use the parsed queries or not) and verify it works. 3. Search a non-ascii string like "FROM Jérôme" (something that *should* return results!) and tell me what happens. 4. Eval the method definition below, and repeat both of the above tests. Thanks in advance! Eric (cl-defmethod gnus-search-imap-handle-string ((engine gnus-search-imap) (str string)) (if (string-match-p "[^[:ascii:]]" str) (if (string-prefix-p "\"" str) str (format "\"%s\"" str)) str))