From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 14 22:16:27 2015 Received: (at submit) by debbugs.gnu.org; 15 Jul 2015 02:16:27 +0000 Received: from localhost ([127.0.0.1]:49450 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZFCFG-0007Oz-LP for submit@debbugs.gnu.org; Tue, 14 Jul 2015 22:16:27 -0400 Received: from ebox.rath.org ([23.92.25.96]:48870) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZFCFC-0007Op-Tf for submit@debbugs.gnu.org; Tue, 14 Jul 2015 22:16:25 -0400 Received: from vostro ([192.168.12.4] helo=vostro.rath.org) by ebox.rath.org with esmtps (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.80) (envelope-from ) id 1ZFCFB-0004Wq-QV for submit@debbugs.gnu.org; Wed, 15 Jul 2015 02:16:21 +0000 Received: by vostro.rath.org (Postfix, from userid 1000) id 6649FEC6347; Tue, 14 Jul 2015 19:16:21 -0700 (PDT) From: Nikolaus Rath To: submit@debbugs.gnu.org Subject: [PATCH] nnimap.el: add support for IMAP namespaces Date: Sun, 12 Jul 2015 18:52:40 -0700 User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/24.4 (gnu/linux) X-Debbugs-CC: ding@gnus.org, emacs-devel@gnu.org Message-ID: <87si8qjhca.fsf@vostro.rath.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.8 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Package: gnus Tags: patch Hello, The attached patch adds basic support for IMAP namespaces to nnimap. If the new server variable nnimap-use-namespaces is t, Gnus will attempt to determine the user's personal namespace (e.g. "INBOX."). When reading the list of mail folders, this prefix will be stripped. If there are folders outside the users personal namespace, they will be prefixed with the breakout character (#). This is useful for servers where all personal mailboxes appear is subfolders of the user's INBOX. For example, before the patch one would have: nnimap+fm:INBOX nnimap+fm:INBOX.Sent Items nnimap+fm:INBOX.Drafts nnimap+fm:INBOX.Archive nnimap+fm:Shared.Bob.INBOX and afterwards: nnimap+fm:INBOX nnimap+fm:Sent Items nnimap+fm:Drafts nnimap+fm:Archive nnimap+fm:#Shared.Bob.INBOX I have only tested this on my personal account, so feedback is appreciated.=20 Thanks for considering, -Nikolaus --=20 GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-nnimap.el-factor-out-nnimap-group-to-imap.patch >From cd74921ce8e867dfe056d6aa94431269460822e2 Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Sun, 12 Jul 2015 11:10:28 -0700 Subject: [PATCH 1/2] nnimap.el: factor out nnimap-group-to-imap * lisp/nnimap.el (nnimap-request-group-scan) (nnimap-request-create-group, nnimap-request-delete-group) (nnimap-request-rename-group, nnimap-request-move-article) (nnimap-process-expiry-targets) (nnimap-request-update-group-status) (nnimap-request-accept-article, nnimap-request-list) (nnimap-retrieve-group-data-early, nnimap-change-group) (nnimap-split-incoming-mail): use nnimap-group-to-imap. (nnimap-group-to-imap): new function to map Gnus group names to IMAP folder names. --- lisp/ChangeLog | 13 +++++++++++++ lisp/nnimap.el | 32 ++++++++++++++++++-------------- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 556be98..be5d3fb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,18 @@ 2015-07-12 Nikolaus Rath + * nnimap.el (nnimap-request-group-scan) + (nnimap-request-create-group, nnimap-request-delete-group) + (nnimap-request-rename-group, nnimap-request-move-article) + (nnimap-process-expiry-targets) + (nnimap-request-update-group-status) + (nnimap-request-accept-article, nnimap-request-list) + (nnimap-retrieve-group-data-early, nnimap-change-group) + (nnimap-split-incoming-mail): use nnimap-group-to-imap. + (nnimap-group-to-imap): new function to map Gnus group names to + IMAP folder names. + +2015-07-12 Nikolaus Rath + * nnimap.el (nnimap-open-connection-1): explicitly ask server for capabilities instead of relying on LOGIN response. diff --git a/lisp/nnimap.el b/lisp/nnimap.el index b24c3c5..19632ad 100644 --- a/lisp/nnimap.el +++ b/lisp/nnimap.el @@ -178,6 +178,10 @@ If non-nil, articles flagged as deleted (using the IMAP (defvar nnimap-inhibit-logging nil) +(defun nnimap-group-to-imap (group) + "Convert Gnus group name to IMAP mailbox name" + (utf7-encode group t)) + (defun nnimap-buffer () (nnimap-find-process-buffer nntp-server-buffer)) @@ -859,7 +863,7 @@ If non-nil, articles flagged as deleted (using the IMAP (with-current-buffer (nnimap-buffer) (erase-buffer) (let ((group-sequence - (nnimap-send-command "SELECT %S" (utf7-encode group t))) + (nnimap-send-command "SELECT %S" (nnimap-group-to-imap group))) (flag-sequence (nnimap-send-command "UID FETCH 1:* FLAGS"))) (setf (nnimap-group nnimap-object) group) @@ -891,13 +895,13 @@ If non-nil, articles flagged as deleted (using the IMAP (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) + (car (nnimap-command "CREATE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-delete-group (group &optional force server) (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) + (car (nnimap-command "DELETE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-rename-group (group new-name &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -905,7 +909,7 @@ If non-nil, articles flagged as deleted (using the IMAP (with-current-buffer (nnimap-buffer) (nnimap-unselect-group) (car (nnimap-command "RENAME %S %S" - (utf7-encode group t) (utf7-encode new-name t)))))) + (nnimap-group-to-imap group) (nnimap-group-to-imap new-name)))))) (defun nnimap-unselect-group () ;; Make sure we don't have this group open read/write by asking @@ -966,7 +970,7 @@ If non-nil, articles flagged as deleted (using the IMAP "UID MOVE %d %S" "UID COPY %d %S")) (result (nnimap-command command article - (utf7-encode internal-move-group t)))) + (nnimap-group-to-imap internal-move-group)))) (when (and (car result) (not can-move)) (nnimap-delete-article article)) (cons internal-move-group @@ -1032,7 +1036,7 @@ If non-nil, articles flagged as deleted (using the IMAP "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges (gnus-compress-sequence articles)) - (utf7-encode (gnus-group-real-name nnmail-expiry-target) t)) + (nnimap-group-to-imap (gnus-group-real-name nnmail-expiry-target))) (set (if can-move 'deleted-articles 'articles-to-delete) articles)))) t) (t @@ -1172,7 +1176,7 @@ If sync is non-nil, wait for server response." (unsubscribe "UNSUBSCRIBE"))))) (when command (with-current-buffer (nnimap-buffer) - (nnimap-command "%s %S" (cadr command) (utf7-encode group t))))))) + (nnimap-command "%s %S" (cadr command) (nnimap-group-to-imap group))))))) (deffoo nnimap-request-set-mark (group actions &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -1227,7 +1231,7 @@ If sync is non-nil, wait for server response." (nnimap-unselect-group)) (erase-buffer) (setq sequence (nnimap-send-command - "APPEND %S {%d}" (utf7-encode group t) + "APPEND %S {%d}" (nnimap-group-to-imap group) (length message))) (unless nnimap-streaming (nnimap-wait-for-connection "^[+]")) @@ -1354,7 +1358,7 @@ If sync is non-nil, wait for server response." (dolist (group groups) (setf (nnimap-examined nnimap-object) group) (push (list (nnimap-send-command "EXAMINE %S" - (utf7-encode group t)) + (nnimap-group-to-imap group)) group) sequences)) (nnimap-wait-for-response (caar sequences)) @@ -1426,7 +1430,7 @@ If sync is non-nil, wait for server response." unexist) (push (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" - (utf7-encode group t) + (nnimap-group-to-imap group) (nnimap-quirk "QRESYNC") uidvalidity modseq) 'qresync @@ -1448,7 +1452,7 @@ If sync is non-nil, wait for server response." (incf (nnimap-initial-resync nnimap-object)) (setq start 1)) (push (list (nnimap-send-command "%s %S" command - (utf7-encode group t)) + (nnimap-group-to-imap group)) (nnimap-send-command "UID FETCH %d:* FLAGS" start) start group command) sequences)))) @@ -1878,7 +1882,7 @@ Return the server's response to the SELECT or EXAMINE command." (if read-only "EXAMINE" "SELECT") - (utf7-encode group t)))) + (nnimap-group-to-imap group)))) (when (car result) (setf (nnimap-group nnimap-object) group (nnimap-select-result nnimap-object) result) @@ -2135,7 +2139,7 @@ Return the server's response to the SELECT or EXAMINE command." (dolist (spec specs) (when (and (not (member (car spec) groups)) (not (eq (car spec) 'junk))) - (nnimap-command "CREATE %S" (utf7-encode (car spec) t)))) + (nnimap-command "CREATE %S" (nnimap-group-to-imap (car spec))))) ;; Then copy over all the messages. (erase-buffer) (dolist (spec specs) @@ -2151,7 +2155,7 @@ Return the server's response to the SELECT or EXAMINE command." "UID MOVE %d %S" "UID COPY %s %S") (nnimap-article-ranges ranges) - (utf7-encode group t)) + (nnimap-group-to-imap group)) ranges) sequences))))) ;; Wait for the last COPY response... -- 2.1.4 --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0002-nnimap.el-Add-support-for-IMAP-namespaces.patch >From 2f05bec6c1d928e16cc345af35d51c391d88a3ce Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Tue, 14 Jul 2015 19:03:09 -0700 Subject: [PATCH 2/2] nnimap.el: Add support for IMAP namespaces. * lisp/nnimap.el (nnimap-use-namespaces): introduced new server variable. (nnimap-group-to-imap, nnimap-get-groups): transform IMAP group names to Gnus group name by stripping / prefixing personal namespace prefix. (nnimap-open-connection-1): ask server for namespaces and store them. --- lisp/ChangeLog | 7 +++++++ lisp/nnimap.el | 65 +++++++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 60 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index be5d3fb..27de0d0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2015-07-14 Nikolaus Rath + + * nnimap.el (nnimap-use-namespaces): introduced new server variable. + (nnimap-group-to-imap, nnimap-get-groups): transform IMAP group names + to Gnus group name by stripping / prefixing personal namespace prefix. + (nnimap-open-connection-1): ask server for namespaces and store them. + 2015-07-12 Nikolaus Rath * nnimap.el (nnimap-request-group-scan) diff --git a/lisp/nnimap.el b/lisp/nnimap.el index 19632ad..8cbf187 100644 --- a/lisp/nnimap.el +++ b/lisp/nnimap.el @@ -62,6 +62,13 @@ If nnimap-stream is `ssl', this will default to `imaps'. If not, it will default to `imap'.") +(defvoo nnimap-use-namespaces nil + "Whether to use IMAP namespaces +If in Gnus your folder names in all start with (e.g.) `INBOX', +you probably want to set this to t. The effects of this are +purely cosmetical, but changing this variable will affect the +names of your nnimap groups. ") + (defvoo nnimap-stream 'undecided "How nnimap talks to the IMAP server. The value should be either `undecided', `ssl' or `tls', @@ -124,6 +131,8 @@ some servers.") (defvoo nnimap-current-infos nil) +(setq nnimap-namespaces nil) + (defvoo nnimap-fetch-partial-articles nil "If non-nil, Gnus will fetch partial articles. If t, Gnus will fetch only the first part. If a string, it @@ -180,7 +189,17 @@ If non-nil, articles flagged as deleted (using the IMAP (defun nnimap-group-to-imap (group) "Convert Gnus group name to IMAP mailbox name" - (utf7-encode group t)) + (let* ((prefix (cadr (assoc (nnoo-current-server 'nnimap) + nnimap-namespaces))) + (inbox (substring prefix 0 -1))) + (utf7-encode + (cond ((or (not prefix) + (string-equal group inbox)) + group) + ((string-prefix-p "#" group) + (substring group 1)) + (t + (concat prefix group))) t))) (defun nnimap-buffer () (nnimap-find-process-buffer nntp-server-buffer)) @@ -467,7 +486,8 @@ If non-nil, articles flagged as deleted (using the IMAP (props (cdr stream-list)) (greeting (plist-get props :greeting)) (capabilities (plist-get props :capabilities)) - (stream-type (plist-get props :type))) + (stream-type (plist-get props :type)) + (server (nnoo-current-server 'nnimap))) (when (and stream (not (memq (process-status stream) '(open run)))) (setq stream nil)) @@ -502,9 +522,7 @@ If non-nil, articles flagged as deleted (using the IMAP ;; the virtual server name and the address (nnimap-credentials (gnus-delete-duplicates - (list - (nnoo-current-server 'nnimap) - nnimap-address)) + (list server nnimap-address)) ports nnimap-user)))) (setq nnimap-object nil) @@ -523,7 +541,21 @@ If non-nil, articles flagged as deleted (using the IMAP (dolist (response (cddr (nnimap-command "CAPABILITY"))) (when (string= "CAPABILITY" (upcase (car response))) (setf (nnimap-capabilities nnimap-object) - (mapcar #'upcase (cdr response)))))) + (mapcar #'upcase (cdr response))))) + (when (and nnimap-use-namespaces + (nnimap-capability "NAMESPACE")) + (erase-buffer) + (nnimap-wait-for-response (nnimap-send-command "NAMESPACE")) + (let ((response (nnimap-last-response-string))) + (when (string-match + "^\\*\\W+NAMESPACE\\W+((\"\\([^\"\n]+\\)\"\\W+\"\\(.\\)\"))\\W+" + response) + (let ((namespace (cons (match-string 1 response) + (match-string 2 response))) + (entry (assoc server nnimap-namespaces))) + (if entry + (setcdr entry namespace) + (push (cons server namespace) nnimap-namespaces))))))) ;; If the login failed, then forget the credentials ;; that are now possibly cached. (dolist (host (list (nnoo-current-server 'nnimap) @@ -1311,8 +1343,12 @@ If sync is non-nil, wait for server response." (defun nnimap-get-groups () (erase-buffer) - (let ((sequence (nnimap-send-command "LIST \"\" \"*\"")) - groups) + (let* ((sequence (nnimap-send-command "LIST \"\" \"*\"")) + (prefix (cadr (assoc (nnoo-current-server 'nnimap) + nnimap-namespaces))) + (prefix-len (length prefix)) + (inbox (substring prefix 0 -1)) + groups) (nnimap-wait-for-response sequence) (subst-char-in-region (point-min) (point-max) ?\\ ?% t) @@ -1329,10 +1365,15 @@ If sync is non-nil, wait for server response." (skip-chars-backward " \r\"") (point))))) (unless (member '%NoSelect flags) - (push (utf7-decode (if (stringp group) - group - (format "%s" group)) t) - groups)))) + (let* ((group (utf7-decode (if (stringp group) group + (format "%s" group)) t)) + (group (cond ((equal inbox group) + group) + ((string-prefix-p prefix group) + (substring group prefix-len)) + (t + (concat "#" group))))) + (push group groups))))) (nreverse groups))) (defun nnimap-get-responses (sequences) -- 2.1.4 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 26 14:44:53 2017 Received: (at control) by debbugs.gnu.org; 26 Jan 2017 19:44:53 +0000 Received: from localhost ([127.0.0.1]:46056 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWpyX-00067x-NH for submit@debbugs.gnu.org; Thu, 26 Jan 2017 14:44:53 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:56894) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWpyW-00067n-6S for control@debbugs.gnu.org; Thu, 26 Jan 2017 14:44:52 -0500 Received: from 2.150.50.220.tmi.telenormobil.no ([2.150.50.220] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cWpyT-0002FD-Vi for control@debbugs.gnu.org; Thu, 26 Jan 2017 20:44:51 +0100 From: Lars Ingebrigtsen To: control@debbugs.gnu.org Subject: control message for bug #21057 Message-ID: <8737g5pq7t.fsf@totally-fudged-out-message-id> Date: Thu, 26 Jan 2017 20:44:44 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) reassign 21057 emacs,gnus From debbugs-submit-bounces@debbugs.gnu.org Thu Jan 26 14:45:03 2017 Received: (at 21057) by debbugs.gnu.org; 26 Jan 2017 19:45:03 +0000 Received: from localhost ([127.0.0.1]:46062 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWpyg-00068z-UA for submit@debbugs.gnu.org; Thu, 26 Jan 2017 14:45:03 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:56903) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWpyf-00068D-0L for 21057@debbugs.gnu.org; Thu, 26 Jan 2017 14:45:01 -0500 Received: from 2.150.50.220.tmi.telenormobil.no ([2.150.50.220] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cWpyc-0002oL-Ew; Thu, 26 Jan 2017 20:45:00 +0100 From: Lars Ingebrigtsen To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces In-Reply-To: <87si8qjhca.fsf@vostro.rath.org> (Nikolaus Rath's message of "Sun, 12 Jul 2015 18:52:40 -0700") Date: Thu, 26 Jan 2017 20:40:59 +0100 Message-ID: <87y3xxobhw.fsf@gnus.org> References: <87si8qjhca.fsf@vostro.rath.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "hermes.netfonds.no", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Nikolaus Rath writes: > This is useful for servers where all personal mailboxes appear is > subfolders of the user's INBOX. For example, before the patch one would > have: > > nnimap+fm:INBOX > nnimap+fm:INBOX.Sent Items > nnimap+fm:INBOX.Drafts > nnimap+fm:INBOX.Archive > nnimap+fm:Shared.Bob.INBOX > > and afterwards: > > nnimap+fm:INBOX > nnimap+fm:Sent Items > nnimap+fm:Drafts > nnimap+fm:Archive > nnimap+fm:#Shared.Bob.INBOX [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.0 TVD_RCVD_IP Message was received from an IP address -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: ding@gnus.org, 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Nikolaus Rath writes: > This is useful for servers where all personal mailboxes appear is > subfolders of the user's INBOX. For example, before the patch one would > have: > > nnimap+fm:INBOX > nnimap+fm:INBOX.Sent Items > nnimap+fm:INBOX.Drafts > nnimap+fm:INBOX.Archive > nnimap+fm:Shared.Bob.INBOX > > and afterwards: > > nnimap+fm:INBOX > nnimap+fm:Sent Items > nnimap+fm:Drafts > nnimap+fm:Archive > nnimap+fm:#Shared.Bob.INBOX What happens if the user has both INBOX.foo and foo mailboxes? Tiny code style nitpicks: > +(defvoo nnimap-use-namespaces nil > + "Whether to use IMAP namespaces Should have a "." at the end. > + (utf7-encode There's a space at the end of the line here, and several other places, which there shouldn't be. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 05 11:18:52 2017 Received: (at 21057) by debbugs.gnu.org; 5 Sep 2017 15:18:52 +0000 Received: from localhost ([127.0.0.1]:51593 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpFcq-0004vp-D8 for submit@debbugs.gnu.org; Tue, 05 Sep 2017 11:18:52 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:52835) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpFco-0004vg-SO for 21057@debbugs.gnu.org; Tue, 05 Sep 2017 11:18:51 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 2C13620C90; Tue, 5 Sep 2017 11:18:50 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 05 Sep 2017 11:18:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=bz6/J82GEJxSd65i3V OnY/y4hQSC21HcunTuDscLgHo=; b=rzUMXaWpOBEKm9TxvKmowwkzpGuwuM6h1T z1UTwDPPsxBayHrMdpqzvy12azJQbkHxmSsxMW15w8Lra9ZKSc+CK7ZUjbKW2tTS k4AyKa2Y+uoSbnQatXOgR4Nq39tK+EdJxAnbUiTDC4kHjFBzWBBYEYqO+v/+kuAu k+yMolM5G7u+LMyHGidJGp+ApqFR8n8ubFa/nw7Gofs+r5Qpv7QPN5JKeQxy2+it q/XYq7uSx6Y5l5bHKfEbMFjMvfi4UFOb5tEKDe8lVq4fVVZRn2YvDNykRyHK0Kip a3cMBKufWSgVTYoGowW4/WAOcVJQnKPgZeYSQBIo24cWbzBheQRA== X-ME-Sender: X-Sasl-enc: c1VW8v3LTENNlNZPmbEVvMGzC9RMUPNXhdBQNOvP/t7h 1504624729 Received: from ebox.rath.org (ebox.rath.org [45.79.69.51]) by mail.messagingengine.com (Postfix) with ESMTPA id D5D4B24787; Tue, 5 Sep 2017 11:18:49 -0400 (EDT) Received: from thinkpad.rath.org (thinkpad [192.168.12.2]) by ebox.rath.org (Postfix) with ESMTPS id 0C49511C; Tue, 5 Sep 2017 15:18:49 +0000 (UTC) Received: by thinkpad.rath.org (Postfix, from userid 1000) id AAB18BFEB4; Tue, 5 Sep 2017 17:18:47 +0200 (CEST) From: Nikolaus Rath To: 21057@debbugs.gnu.org, Lars Ingebrigtsen Subject: Re: [PATCH] nnimap.el: add support for IMAP namespaces Date: Tue, 05 Sep 2017 17:18:47 +0200 Message-ID: <87efrlfa20.fsf@thinkpad.rath.org> User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hello, Sorry for the delayed response! > What happens if the user has both INBOX.foo and foo mailboxes? The "foo" mailbox wouldn't be accessible. I don't think this is a problem in practice, if the server uses namespaces then the user wouldn't be able to create anything on that level of the hierarchy. > Tiny code style nitpicks: > >> +(defvoo nnimap-use-namespaces nil >> + "Whether to use IMAP namespaces > > Should have a "." at the end. > >> + (utf7-encode=20 > > There's a space at the end of the line here, and several other places, > which there shouldn't be. Will fix and rebase on top of current emacs master, thanks! Best, -Nikolaus --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 05 11:26:28 2017 Received: (at 21057) by debbugs.gnu.org; 5 Sep 2017 15:26:29 +0000 Received: from localhost ([127.0.0.1]:51606 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpFkC-000570-Ft for submit@debbugs.gnu.org; Tue, 05 Sep 2017 11:26:28 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:38097) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpFkA-00056r-8T for 21057@debbugs.gnu.org; Tue, 05 Sep 2017 11:26:26 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 11F8D21107; Tue, 5 Sep 2017 11:26:26 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Tue, 05 Sep 2017 11:26:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=BYOJN9LhL3Hixg3vC2 lmaYKspbix6//TpOqnnIJqNlY=; b=MTKCx4ZVG9GQVmpCbvdUFuwBAqGh8YiVFr EVjFkVOSj/qxMZ3CFhuBVPtnC8aVg8DjCk/SdekhkgCBInBmMFpXxE0Rli/4NYgG LaChIFkMmjxcmNfXjqHOm4saeSpw767q5edP/4b/bB07ugzdvEr4JFiLiKFTbIoE ZsENhLKbHtvYKy0KNCOXKpGhkEL63ok1iq5jmrqUjmTX0zjT/uGRexgDC5yrxCuI psTBFA+mjQdd43l0M+XjoRZdgpN2FjRLw5v3iDc5/iyTqnLdULM6k6S7NGYd5G9u E5c8qfMBUOd71hN396TdU1Kr27UPECjnPHGrYZoBa8e1ST2Bk0DQ== X-ME-Sender: X-Sasl-enc: JgjGioe6jEL5DmZfuv5uOuRAyGC/ND8vpuduNYf/hgIk 1504625185 Received: from ebox.rath.org (ebox.rath.org [45.79.69.51]) by mail.messagingengine.com (Postfix) with ESMTPA id A8AEC24335; Tue, 5 Sep 2017 11:26:25 -0400 (EDT) Received: from thinkpad.rath.org (thinkpad [192.168.12.2]) by ebox.rath.org (Postfix) with ESMTPS id A084711C; Tue, 5 Sep 2017 15:26:24 +0000 (UTC) Received: by thinkpad.rath.org (Postfix, from userid 1000) id 4D098BFEB4; Tue, 5 Sep 2017 17:26:23 +0200 (CEST) From: Nikolaus Rath To: 21057@debbugs.gnu.org Subject: Re: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> Date: Tue, 05 Sep 2017 17:26:23 +0200 In-Reply-To: <87efrlfa20.fsf@thinkpad.rath.org> (Nikolaus Rath's message of "Tue, 05 Sep 2017 17:18:47 +0200") Message-ID: <87a829f9pc.fsf@thinkpad.rath.org> User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Lars Ingebrigtsen X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Attached is the updated patch. Should apply cleanly on Emacs master. Best, Nikolaus --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-nnimap.el-factor-out-nnimap-group-to-imap.patch >From b21e4eb2e788e83cb5d82b9eac7f7e3ecd0de837 Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Sun, 12 Jul 2015 11:10:28 -0700 Subject: [PATCH 1/2] nnimap.el: factor out nnimap-group-to-imap * lisp/gnus/nnimap.el (nnimap-request-group-scan) (nnimap-request-create-group, nnimap-request-delete-group) (nnimap-request-rename-group, nnimap-request-move-article) (nnimap-process-expiry-targets) (nnimap-request-update-group-status) (nnimap-request-accept-article, nnimap-request-list) (nnimap-retrieve-group-data-early, nnimap-change-group) (nnimap-split-incoming-mail): use nnimap-group-to-imap. (nnimap-group-to-imap): new function to map Gnus group names to IMAP folder names. --- lisp/gnus/nnimap.el | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 2943c..17542 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -166,6 +166,10 @@ textual parts.") (defvar nnimap-inhibit-logging nil) +(defun nnimap-group-to-imap (group) + "Convert Gnus group name to IMAP mailbox name" + (utf7-encode group t)) + (defun nnimap-buffer () (nnimap-find-process-buffer nntp-server-buffer)) @@ -834,7 +838,7 @@ textual parts.") (with-current-buffer (nnimap-buffer) (erase-buffer) (let ((group-sequence - (nnimap-send-command "SELECT %S" (utf7-encode group t))) + (nnimap-send-command "SELECT %S" (nnimap-group-to-imap group))) (flag-sequence (nnimap-send-command "UID FETCH 1:* FLAGS"))) (setf (nnimap-group nnimap-object) group) @@ -867,13 +871,13 @@ textual parts.") (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) + (car (nnimap-command "CREATE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-delete-group (group &optional _force server) (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) + (car (nnimap-command "DELETE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-rename-group (group new-name &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -881,7 +885,7 @@ textual parts.") (with-current-buffer (nnimap-buffer) (nnimap-unselect-group) (car (nnimap-command "RENAME %S %S" - (utf7-encode group t) (utf7-encode new-name t)))))) + (nnimap-group-to-imap group) (nnimap-group-to-imap new-name)))))) (defun nnimap-unselect-group () ;; Make sure we don't have this group open read/write by asking @@ -941,7 +945,7 @@ textual parts.") "UID COPY %d %S")) (result (nnimap-command command article - (utf7-encode internal-move-group t)))) + (nnimap-group-to-imap internal-move-group)))) (when (and (car result) (not can-move)) (nnimap-delete-article article)) (cons internal-move-group @@ -1008,7 +1012,7 @@ textual parts.") "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges (gnus-compress-sequence articles)) - (utf7-encode (gnus-group-real-name nnmail-expiry-target) t)) + (nnimap-group-to-imap (gnus-group-real-name nnmail-expiry-target))) (set (if can-move 'deleted-articles 'articles-to-delete) articles)))) t) (t @@ -1133,7 +1137,7 @@ If LIMIT, first try to limit the search to the N last articles." (unsubscribe "UNSUBSCRIBE"))))) (when command (with-current-buffer (nnimap-buffer) - (nnimap-command "%s %S" (cadr command) (utf7-encode group t))))))) + (nnimap-command "%s %S" (cadr command) (nnimap-group-to-imap group))))))) (deffoo nnimap-request-set-mark (group actions &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -1188,7 +1192,7 @@ If LIMIT, first try to limit the search to the N last articles." (nnimap-unselect-group)) (erase-buffer) (setq sequence (nnimap-send-command - "APPEND %S {%d}" (utf7-encode group t) + "APPEND %S {%d}" (nnimap-group-to-imap group) (length message))) (unless nnimap-streaming (nnimap-wait-for-connection "^[+]")) @@ -1316,7 +1320,7 @@ If LIMIT, first try to limit the search to the N last articles." (dolist (group groups) (setf (nnimap-examined nnimap-object) group) (push (list (nnimap-send-command "EXAMINE %S" - (utf7-encode group t)) + (nnimap-group-to-imap group)) group) sequences)) (nnimap-wait-for-response (caar sequences)) @@ -1388,7 +1392,7 @@ If LIMIT, first try to limit the search to the N last articles." unexist) (push (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" - (utf7-encode group t) + (nnimap-group-to-imap group) (nnimap-quirk "QRESYNC") uidvalidity modseq) 'qresync @@ -1410,7 +1414,7 @@ If LIMIT, first try to limit the search to the N last articles." (incf (nnimap-initial-resync nnimap-object)) (setq start 1)) (push (list (nnimap-send-command "%s %S" command - (utf7-encode group t)) + (nnimap-group-to-imap group)) (nnimap-send-command "UID FETCH %d:* FLAGS" start) start group command) sequences)))) @@ -1842,7 +1846,7 @@ Return the server's response to the SELECT or EXAMINE command." (if read-only "EXAMINE" "SELECT") - (utf7-encode group t)))) + (nnimap-group-to-imap group)))) (when (car result) (setf (nnimap-group nnimap-object) group (nnimap-select-result nnimap-object) result) @@ -2098,7 +2102,7 @@ Return the server's response to the SELECT or EXAMINE command." (dolist (spec specs) (when (and (not (member (car spec) groups)) (not (eq (car spec) 'junk))) - (nnimap-command "CREATE %S" (utf7-encode (car spec) t)))) + (nnimap-command "CREATE %S" (nnimap-group-to-imap (car spec))))) ;; Then copy over all the messages. (erase-buffer) (dolist (spec specs) @@ -2114,7 +2118,7 @@ Return the server's response to the SELECT or EXAMINE command." "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges ranges) - (utf7-encode group t)) + (nnimap-group-to-imap group)) ranges) sequences))))) ;; Wait for the last COPY response... -- 2.11.0 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0002-nnimap.el-Add-support-for-IMAP-namespaces.patch >From a1a268af15472905d7fa81347f0d65abc5702b86 Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Tue, 14 Jul 2015 19:03:09 -0700 Subject: [PATCH 2/2] nnimap.el: Add support for IMAP namespaces. * lisp/gnus/nnimap.el (nnimap-use-namespaces): introduced new server variable. (nnimap-group-to-imap, nnimap-get-groups): transform IMAP group names to Gnus group name by stripping / prefixing personal namespace prefix. (nnimap-open-connection-1): ask server for namespaces and store them. --- lisp/gnus/nnimap.el | 66 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 53 insertions(+), 13 deletions(-) diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 17542..fb382 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -55,6 +55,13 @@ If nnimap-stream is `ssl', this will default to `imaps'. If not, it will default to `imap'.") +(defvoo nnimap-use-namespaces nil + "Whether to use IMAP namespaces. +If in Gnus your folder names in all start with (e.g.) `INBOX', +you probably want to set this to t. The effects of this are +purely cosmetical, but changing this variable will affect the +names of your nnimap groups. ") + (defvoo nnimap-stream 'undecided "How nnimap talks to the IMAP server. The value should be either `undecided', `ssl' or `tls', @@ -116,6 +123,8 @@ some servers.") (defun nnimap-encode-gnus-group (group) (encode-coding-string group 'utf-8)) +(setq nnimap-namespaces nil) + (defvoo nnimap-fetch-partial-articles nil "If non-nil, Gnus will fetch partial articles. If t, Gnus will fetch only the first part. If a string, it @@ -168,7 +177,17 @@ textual parts.") (defun nnimap-group-to-imap (group) "Convert Gnus group name to IMAP mailbox name" - (utf7-encode group t)) + (let* ((prefix (cadr (assoc (nnoo-current-server 'nnimap) + nnimap-namespaces))) + (inbox (substring prefix 0 -1))) + (utf7-encode + (cond ((or (not prefix) + (string-equal group inbox)) + group) + ((string-prefix-p "#" group) + (substring group 1)) + (t + (concat prefix group))) t))) (defun nnimap-buffer () (nnimap-find-process-buffer nntp-server-buffer)) @@ -445,7 +464,8 @@ textual parts.") (props (cdr stream-list)) (greeting (plist-get props :greeting)) (capabilities (plist-get props :capabilities)) - (stream-type (plist-get props :type))) + (stream-type (plist-get props :type)) + (server (nnoo-current-server 'nnimap))) (when (and stream (not (memq (process-status stream) '(open run)))) (setq stream nil)) @@ -478,9 +498,7 @@ textual parts.") ;; the virtual server name and the address (nnimap-credentials (gnus-delete-duplicates - (list - (nnoo-current-server 'nnimap) - nnimap-address)) + (list server nnimap-address)) ports nnimap-user)))) (setq nnimap-object nil) @@ -499,7 +517,21 @@ textual parts.") (dolist (response (cddr (nnimap-command "CAPABILITY"))) (when (string= "CAPABILITY" (upcase (car response))) (setf (nnimap-capabilities nnimap-object) - (mapcar #'upcase (cdr response)))))) + (mapcar #'upcase (cdr response))))) + (when (and nnimap-use-namespaces + (nnimap-capability "NAMESPACE")) + (erase-buffer) + (nnimap-wait-for-response (nnimap-send-command "NAMESPACE")) + (let ((response (nnimap-last-response-string))) + (when (string-match + "^\\*\\W+NAMESPACE\\W+((\"\\([^\"\n]+\\)\"\\W+\"\\(.\\)\"))\\W+" + response) + (let ((namespace (cons (match-string 1 response) + (match-string 2 response))) + (entry (assoc server nnimap-namespaces))) + (if entry + (setcdr entry namespace) + (push (cons server namespace) nnimap-namespaces))))))) ;; If the login failed, then forget the credentials ;; that are now possibly cached. (dolist (host (list (nnoo-current-server 'nnimap) @@ -1272,8 +1304,12 @@ If LIMIT, first try to limit the search to the N last articles." (defun nnimap-get-groups () (erase-buffer) - (let ((sequence (nnimap-send-command "LIST \"\" \"*\"")) - groups) + (let* ((sequence (nnimap-send-command "LIST \"\" \"*\"")) + (prefix (cadr (assoc (nnoo-current-server 'nnimap) + nnimap-namespaces))) + (prefix-len (length prefix)) + (inbox (substring prefix 0 -1)) + groups) (nnimap-wait-for-response sequence) (subst-char-in-region (point-min) (point-max) ?\\ ?% t) @@ -1290,11 +1326,15 @@ If LIMIT, first try to limit the search to the N last articles." (skip-chars-backward " \r\"") (point))))) (unless (member '%NoSelect flags) - (push (utf7-decode (if (stringp group) - group - (format "%s" group)) - t) - groups)))) + (let* ((group (utf7-decode (if (stringp group) group + (format "%s" group)) t)) + (group (cond ((equal inbox group) + group) + ((string-prefix-p prefix group) + (substring group prefix-len)) + (t + (concat "#" group))))) + (push group groups))))) (nreverse groups))) (defun nnimap-get-responses (sequences) -- 2.11.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 05 11:36:32 2017 Received: (at 21057) by debbugs.gnu.org; 5 Sep 2017 15:36:32 +0000 Received: from localhost ([127.0.0.1]:51630 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpFtw-0005N8-JB for submit@debbugs.gnu.org; Tue, 05 Sep 2017 11:36:32 -0400 Received: from mx2.suse.de ([195.135.220.15]:39500 helo=mx1.suse.de) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpFtu-0005Mz-H5 for 21057@debbugs.gnu.org; Tue, 05 Sep 2017 11:36:30 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 67EC2ABBC; Tue, 5 Sep 2017 15:36:29 +0000 (UTC) From: Andreas Schwab To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> X-Yow: Hand me a pair of leather pants and a CASIO keyboard -- I'm living for today! Date: Tue, 05 Sep 2017 17:36:27 +0200 In-Reply-To: <87a829f9pc.fsf@thinkpad.rath.org> (Nikolaus Rath's message of "Tue, 05 Sep 2017 17:26:23 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 21057 Cc: Lars Ingebrigtsen , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) On Sep 05 2017, Nikolaus Rath wrote: > diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el > index 2943c..17542 100644 > --- a/lisp/gnus/nnimap.el > +++ b/lisp/gnus/nnimap.el > @@ -166,6 +166,10 @@ textual parts.") > > (defvar nnimap-inhibit-logging nil) > > +(defun nnimap-group-to-imap (group) > + "Convert Gnus group name to IMAP mailbox name" Missing period. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 07 12:01:23 2017 Received: (at 21057) by debbugs.gnu.org; 7 Sep 2017 16:01:23 +0000 Received: from localhost ([127.0.0.1]:54518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpzF2-0002zS-Pg for submit@debbugs.gnu.org; Thu, 07 Sep 2017 12:01:23 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:50847) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dpzF0-0002zK-Oz for 21057@debbugs.gnu.org; Thu, 07 Sep 2017 12:01:19 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id B040C213FE; Thu, 7 Sep 2017 12:01:17 -0400 (EDT) Received: from web4 ([10.202.2.214]) by compute1.internal (MEProxy); Thu, 07 Sep 2017 12:01:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=/nC/0R WjW1MdyUs2heX4Z21eVdusHUZ7UU/6C8fISdM=; b=lKpYatA0CgMICOYcpfEnDm hdZeaQnY2AjgKj5AOgD0sIFQOFECMdRhmNwO+urvBNBOvcNgu/K3S5wC7B4lrAm6 FoWPiXIC2HStXd1L1cCnJoK4DPUZRId1uvhmN8iDDldtrKLvCoD/Ny28yyERfVvX 0xlKG19t5BXQHU4JOuT7CJpfQ1bvXid7O31McNE7vik2jtiSwOU6lEUWBq5xh/Vc MOYCLV5s3vPQi7Vbgq2C5tcbQolwKN8ZznJFbh6bp/RhZEvmq9OFJJ+5Tl/ZNj0v L2D+F28i2i+fe7F8t5Bt0z8tAQParf6jlTQs0gZv3SlYrA13FwQsa380VfOv9d7g == X-ME-Sender: Received: by mailuser.nyi.internal (Postfix, from userid 99) id 8AC14BAB7B; Thu, 7 Sep 2017 12:01:17 -0400 (EDT) Message-Id: <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> From: Nikolaus Rath To: Andreas Schwab MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_15048000773651370" X-Mailer: MessagingEngine.com Webmail Interface - ajax-f7b75467 In-Reply-To: Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> Date: Thu, 07 Sep 2017 18:01:17 +0200 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Lars Ingebrigtsen , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) This is a multi-part message in MIME format. --_----------=_15048000773651370 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On Tue, Sep 5, 2017, at 17:36, Andreas Schwab wrote: > On Sep 05 2017, Nikolaus Rath wrote: >=20 > > diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el > > index 2943c..17542 100644 > > --- a/lisp/gnus/nnimap.el > > +++ b/lisp/gnus/nnimap.el > > @@ -166,6 +166,10 @@ textual parts.") > >=20=20 > > (defvar nnimap-inhibit-logging nil) > >=20=20 > > +(defun nnimap-group-to-imap (group) > > + "Convert Gnus group name to IMAP mailbox name" >=20 > Missing period. Thanks for the review, revised patches attached. Best, -Niko -- GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2=AB --_----------=_15048000773651370 Content-Disposition: attachment; filename="0001-nnimap.el-factor-out-nnimap-group-to-imap.patch" Content-Id: <1504800075.365103.0d3721f1b234fe77bb74b8d830dd7ba813a5dca6.192AB2B2@content.messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-nnimap.el-factor-out-nnimap-group-to-imap.patch" RnJvbSBhMzU4MTA2YjkxYTFkYTY1NmQyM2QyZGE1YWVlMDdmY2Y4OTQ3Njgw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGF1cyBSYXRo IDxOaWtvbGF1c0ByYXRoLm9yZz4KRGF0ZTogU3VuLCAxMiBKdWwgMjAxNSAx MToxMDoyOCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBubmltYXAuZWw6 IGZhY3RvciBvdXQgbm5pbWFwLWdyb3VwLXRvLWltYXAKCiogbGlzcC9nbnVz L25uaW1hcC5lbCAobm5pbWFwLXJlcXVlc3QtZ3JvdXAtc2NhbikKKG5uaW1h cC1yZXF1ZXN0LWNyZWF0ZS1ncm91cCwgbm5pbWFwLXJlcXVlc3QtZGVsZXRl LWdyb3VwKQoobm5pbWFwLXJlcXVlc3QtcmVuYW1lLWdyb3VwLCBubmltYXAt cmVxdWVzdC1tb3ZlLWFydGljbGUpCihubmltYXAtcHJvY2Vzcy1leHBpcnkt dGFyZ2V0cykKKG5uaW1hcC1yZXF1ZXN0LXVwZGF0ZS1ncm91cC1zdGF0dXMp CihubmltYXAtcmVxdWVzdC1hY2NlcHQtYXJ0aWNsZSwgbm5pbWFwLXJlcXVl c3QtbGlzdCkKKG5uaW1hcC1yZXRyaWV2ZS1ncm91cC1kYXRhLWVhcmx5LCBu bmltYXAtY2hhbmdlLWdyb3VwKQoobm5pbWFwLXNwbGl0LWluY29taW5nLW1h aWwpOiB1c2Ugbm5pbWFwLWdyb3VwLXRvLWltYXAuCihubmltYXAtZ3JvdXAt dG8taW1hcCk6IG5ldyBmdW5jdGlvbiB0byBtYXAgR251cyBncm91cCBuYW1l cyB0bwpJTUFQIGZvbGRlciBuYW1lcy4KLS0tCiBsaXNwL2dudXMvbm5pbWFw LmVsIHwgMzIgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saXNwL2dudXMvbm5pbWFwLmVsIGIvbGlzcC9n bnVzL25uaW1hcC5lbAppbmRleCAyOTQzYy4uYTk0MmQ4IDEwMDY0NAotLS0g YS9saXNwL2dudXMvbm5pbWFwLmVsCisrKyBiL2xpc3AvZ251cy9ubmltYXAu ZWwKQEAgLTE2Niw2ICsxNjYsMTAgQEAgdGV4dHVhbCBwYXJ0cy4iKQogCiAo ZGVmdmFyIG5uaW1hcC1pbmhpYml0LWxvZ2dpbmcgbmlsKQogCisoZGVmdW4g bm5pbWFwLWdyb3VwLXRvLWltYXAgKGdyb3VwKQorICAiQ29udmVydCBHbnVz IGdyb3VwIG5hbWUgdG8gSU1BUCBtYWlsYm94IG5hbWUuIgorICAodXRmNy1l bmNvZGUgZ3JvdXAgdCkpCisKIChkZWZ1biBubmltYXAtYnVmZmVyICgpCiAg IChubmltYXAtZmluZC1wcm9jZXNzLWJ1ZmZlciBubnRwLXNlcnZlci1idWZm ZXIpKQogCkBAIC04MzQsNyArODM4LDcgQEAgdGV4dHVhbCBwYXJ0cy4iKQog ICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgKG5uaW1hcC1idWZmZXIpCiAJ KGVyYXNlLWJ1ZmZlcikKIAkobGV0ICgoZ3JvdXAtc2VxdWVuY2UKLQkgICAg ICAgKG5uaW1hcC1zZW5kLWNvbW1hbmQgIlNFTEVDVCAlUyIgKHV0ZjctZW5j b2RlIGdyb3VwIHQpKSkKKwkgICAgICAgKG5uaW1hcC1zZW5kLWNvbW1hbmQg IlNFTEVDVCAlUyIgKG5uaW1hcC1ncm91cC10by1pbWFwIGdyb3VwKSkpCiAJ ICAgICAgKGZsYWctc2VxdWVuY2UKIAkgICAgICAgKG5uaW1hcC1zZW5kLWNv bW1hbmQgIlVJRCBGRVRDSCAxOiogRkxBR1MiKSkpCiAJICAoc2V0ZiAobm5p bWFwLWdyb3VwIG5uaW1hcC1vYmplY3QpIGdyb3VwKQpAQCAtODY3LDEzICs4 NzEsMTMgQEAgdGV4dHVhbCBwYXJ0cy4iKQogICAoc2V0cSBncm91cCAobm5p bWFwLWRlY29kZS1nbnVzLWdyb3VwIGdyb3VwKSkKICAgKHdoZW4gKG5uaW1h cC1jaGFuZ2UtZ3JvdXAgbmlsIHNlcnZlcikKICAgICAod2l0aC1jdXJyZW50 LWJ1ZmZlciAobm5pbWFwLWJ1ZmZlcikKLSAgICAgIChjYXIgKG5uaW1hcC1j b21tYW5kICJDUkVBVEUgJVMiICh1dGY3LWVuY29kZSBncm91cCB0KSkpKSkp CisgICAgICAoY2FyIChubmltYXAtY29tbWFuZCAiQ1JFQVRFICVTIiAobm5p bWFwLWdyb3VwLXRvLWltYXAgZ3JvdXApKSkpKSkKIAogKGRlZmZvbyBubmlt YXAtcmVxdWVzdC1kZWxldGUtZ3JvdXAgKGdyb3VwICZvcHRpb25hbCBfZm9y Y2Ugc2VydmVyKQogICAoc2V0cSBncm91cCAobm5pbWFwLWRlY29kZS1nbnVz LWdyb3VwIGdyb3VwKSkKICAgKHdoZW4gKG5uaW1hcC1jaGFuZ2UtZ3JvdXAg bmlsIHNlcnZlcikKICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAobm5pbWFw LWJ1ZmZlcikKLSAgICAgIChjYXIgKG5uaW1hcC1jb21tYW5kICJERUxFVEUg JVMiICh1dGY3LWVuY29kZSBncm91cCB0KSkpKSkpCisgICAgICAoY2FyIChu bmltYXAtY29tbWFuZCAiREVMRVRFICVTIiAobm5pbWFwLWdyb3VwLXRvLWlt YXAgZ3JvdXApKSkpKSkKIAogKGRlZmZvbyBubmltYXAtcmVxdWVzdC1yZW5h bWUtZ3JvdXAgKGdyb3VwIG5ldy1uYW1lICZvcHRpb25hbCBzZXJ2ZXIpCiAg IChzZXRxIGdyb3VwIChubmltYXAtZGVjb2RlLWdudXMtZ3JvdXAgZ3JvdXAp KQpAQCAtODgxLDcgKzg4NSw3IEBAIHRleHR1YWwgcGFydHMuIikKICAgICAo d2l0aC1jdXJyZW50LWJ1ZmZlciAobm5pbWFwLWJ1ZmZlcikKICAgICAgIChu bmltYXAtdW5zZWxlY3QtZ3JvdXApCiAgICAgICAoY2FyIChubmltYXAtY29t bWFuZCAiUkVOQU1FICVTICVTIgotCQkJICAgKHV0ZjctZW5jb2RlIGdyb3Vw IHQpICh1dGY3LWVuY29kZSBuZXctbmFtZSB0KSkpKSkpCisJCQkgICAobm5p bWFwLWdyb3VwLXRvLWltYXAgZ3JvdXApIChubmltYXAtZ3JvdXAtdG8taW1h cCBuZXctbmFtZSkpKSkpKQogCiAoZGVmdW4gbm5pbWFwLXVuc2VsZWN0LWdy b3VwICgpCiAgIDs7IE1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIHRoaXMgZ3Jv dXAgb3BlbiByZWFkL3dyaXRlIGJ5IGFza2luZwpAQCAtOTQxLDcgKzk0NSw3 IEBAIHRleHR1YWwgcGFydHMuIikKIAkJCQkiVUlEIENPUFkgJWQgJVMiKSkK IAkJICAgICAocmVzdWx0IChubmltYXAtY29tbWFuZAogCQkJICAgICAgY29t bWFuZCBhcnRpY2xlCi0JCQkgICAgICAodXRmNy1lbmNvZGUgaW50ZXJuYWwt bW92ZS1ncm91cCB0KSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG5uaW1hcC1ncm91cC10by1pbWFwIGludGVybmFsLW1vdmUtZ3JvdXAp KSkpCiAgICAgICAgICAgICAgICAgKHdoZW4gKGFuZCAoY2FyIHJlc3VsdCkg KG5vdCBjYW4tbW92ZSkpCiAgICAgICAgICAgICAgICAgICAobm5pbWFwLWRl bGV0ZS1hcnRpY2xlIGFydGljbGUpKQogICAgICAgICAgICAgICAgIChjb25z IGludGVybmFsLW1vdmUtZ3JvdXAKQEAgLTEwMDgsNyArMTAxMiw3IEBAIHRl eHR1YWwgcGFydHMuIikKICAgICAgICAgICAgICAgICAgICAgIlVJRCBNT1ZF ICVzICVTIgogICAgICAgICAgICAgICAgICAgIlVJRCBDT1BZICVzICVTIikK ICAgICAgICAgICAgICAgICAobm5pbWFwLWFydGljbGUtcmFuZ2VzIChnbnVz LWNvbXByZXNzLXNlcXVlbmNlIGFydGljbGVzKSkKLSAgICAgICAgICAgICAg ICAodXRmNy1lbmNvZGUgKGdudXMtZ3JvdXAtcmVhbC1uYW1lIG5ubWFpbC1l eHBpcnktdGFyZ2V0KSB0KSkKKyAgICAgICAgICAgICAgICAobm5pbWFwLWdy b3VwLXRvLWltYXAgKGdudXMtZ3JvdXAtcmVhbC1uYW1lIG5ubWFpbC1leHBp cnktdGFyZ2V0KSkpCiAgICAgICAgICAgICAgICAoc2V0IChpZiBjYW4tbW92 ZSAnZGVsZXRlZC1hcnRpY2xlcyAnYXJ0aWNsZXMtdG8tZGVsZXRlKSBhcnRp Y2xlcykpKSkKICAgICAgIHQpCiAgICAgICh0CkBAIC0xMTMzLDcgKzExMzcs NyBAQCBJZiBMSU1JVCwgZmlyc3QgdHJ5IHRvIGxpbWl0IHRoZSBzZWFyY2gg dG8gdGhlIE4gbGFzdCBhcnRpY2xlcy4iCiAJCSAgICAgICh1bnN1YnNjcmli ZSAiVU5TVUJTQ1JJQkUiKSkpKSkKICAgICAgICh3aGVuIGNvbW1hbmQKIAko d2l0aC1jdXJyZW50LWJ1ZmZlciAobm5pbWFwLWJ1ZmZlcikKLQkgIChubmlt YXAtY29tbWFuZCAiJXMgJVMiIChjYWRyIGNvbW1hbmQpICh1dGY3LWVuY29k ZSBncm91cCB0KSkpKSkpKQorCSAgKG5uaW1hcC1jb21tYW5kICIlcyAlUyIg KGNhZHIgY29tbWFuZCkgKG5uaW1hcC1ncm91cC10by1pbWFwIGdyb3VwKSkp KSkpKQogCiAoZGVmZm9vIG5uaW1hcC1yZXF1ZXN0LXNldC1tYXJrIChncm91 cCBhY3Rpb25zICZvcHRpb25hbCBzZXJ2ZXIpCiAgIChzZXRxIGdyb3VwIChu bmltYXAtZGVjb2RlLWdudXMtZ3JvdXAgZ3JvdXApKQpAQCAtMTE4OCw3ICsx MTkyLDcgQEAgSWYgTElNSVQsIGZpcnN0IHRyeSB0byBsaW1pdCB0aGUgc2Vh cmNoIHRvIHRoZSBOIGxhc3QgYXJ0aWNsZXMuIgogCSAgICAobm5pbWFwLXVu c2VsZWN0LWdyb3VwKSkKIAkgIChlcmFzZS1idWZmZXIpCiAJICAoc2V0cSBz ZXF1ZW5jZSAobm5pbWFwLXNlbmQtY29tbWFuZAotCQkJICAiQVBQRU5EICVT IHslZH0iICh1dGY3LWVuY29kZSBncm91cCB0KQorCQkJICAiQVBQRU5EICVT IHslZH0iIChubmltYXAtZ3JvdXAtdG8taW1hcCBncm91cCkKIAkJCSAgKGxl bmd0aCBtZXNzYWdlKSkpCiAJICAodW5sZXNzIG5uaW1hcC1zdHJlYW1pbmcK IAkgICAgKG5uaW1hcC13YWl0LWZvci1jb25uZWN0aW9uICJeWytdIikpCkBA IC0xMzE2LDcgKzEzMjAsNyBAQCBJZiBMSU1JVCwgZmlyc3QgdHJ5IHRvIGxp bWl0IHRoZSBzZWFyY2ggdG8gdGhlIE4gbGFzdCBhcnRpY2xlcy4iCiAJICAg IChkb2xpc3QgKGdyb3VwIGdyb3VwcykKIAkgICAgICAoc2V0ZiAobm5pbWFw LWV4YW1pbmVkIG5uaW1hcC1vYmplY3QpIGdyb3VwKQogCSAgICAgIChwdXNo IChsaXN0IChubmltYXAtc2VuZC1jb21tYW5kICJFWEFNSU5FICVTIgotCQkJ CQkgICAgICAgKHV0ZjctZW5jb2RlIGdyb3VwIHQpKQorCQkJCQkgICAgICAg KG5uaW1hcC1ncm91cC10by1pbWFwIGdyb3VwKSkKIAkJCSAgZ3JvdXApCiAJ CSAgICBzZXF1ZW5jZXMpKQogCSAgICAobm5pbWFwLXdhaXQtZm9yLXJlc3Bv bnNlIChjYWFyIHNlcXVlbmNlcykpCkBAIC0xMzg4LDcgKzEzOTIsNyBAQCBJ ZiBMSU1JVCwgZmlyc3QgdHJ5IHRvIGxpbWl0IHRoZSBzZWFyY2ggdG8gdGhl IE4gbGFzdCBhcnRpY2xlcy4iCiAJCSAgIHVuZXhpc3QpCiAJICAgICAgKHB1 c2gKIAkgICAgICAgKGxpc3QgKG5uaW1hcC1zZW5kLWNvbW1hbmQgIkVYQU1J TkUgJVMgKCVzICglcyAlcykpIgotCQkJCQkgICh1dGY3LWVuY29kZSBncm91 cCB0KQorCQkJCQkgIChubmltYXAtZ3JvdXAtdG8taW1hcCBncm91cCkKIAkJ CQkJICAobm5pbWFwLXF1aXJrICJRUkVTWU5DIikKIAkJCQkJICB1aWR2YWxp ZGl0eSBtb2RzZXEpCiAJCSAgICAgJ3FyZXN5bmMKQEAgLTE0MTAsNyArMTQx NCw3IEBAIElmIExJTUlULCBmaXJzdCB0cnkgdG8gbGltaXQgdGhlIHNlYXJj aCB0byB0aGUgTiBsYXN0IGFydGljbGVzLiIKIAkJKGluY2YgKG5uaW1hcC1p bml0aWFsLXJlc3luYyBubmltYXAtb2JqZWN0KSkKIAkJKHNldHEgc3RhcnQg MSkpCiAJICAgICAgKHB1c2ggKGxpc3QgKG5uaW1hcC1zZW5kLWNvbW1hbmQg IiVzICVTIiBjb21tYW5kCi0JCQkJCSAgICAgICAodXRmNy1lbmNvZGUgZ3Jv dXAgdCkpCisJCQkJCSAgICAgICAobm5pbWFwLWdyb3VwLXRvLWltYXAgZ3Jv dXApKQogCQkJICAobm5pbWFwLXNlbmQtY29tbWFuZCAiVUlEIEZFVENIICVk OiogRkxBR1MiIHN0YXJ0KQogCQkJICBzdGFydCBncm91cCBjb21tYW5kKQog CQkgICAgc2VxdWVuY2VzKSkpKQpAQCAtMTg0Miw3ICsxODQ2LDcgQEAgUmV0 dXJuIHRoZSBzZXJ2ZXIncyByZXNwb25zZSB0byB0aGUgU0VMRUNUIG9yIEVY QU1JTkUgY29tbWFuZC4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChpZiByZWFkLW9ubHkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJFWEFNSU5FIgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTRUxFQ1QiKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodXRmNy1lbmNvZGUg Z3JvdXAgdCkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKG5uaW1hcC1ncm91cC10by1pbWFwIGdyb3VwKSkpKQogICAgICAg ICAgICh3aGVuIChjYXIgcmVzdWx0KQogICAgICAgICAgICAgKHNldGYgKG5u aW1hcC1ncm91cCBubmltYXAtb2JqZWN0KSBncm91cAogICAgICAgICAgICAg ICAgICAgKG5uaW1hcC1zZWxlY3QtcmVzdWx0IG5uaW1hcC1vYmplY3QpIHJl c3VsdCkKQEAgLTIwOTgsNyArMjEwMiw3IEBAIFJldHVybiB0aGUgc2VydmVy J3MgcmVzcG9uc2UgdG8gdGhlIFNFTEVDVCBvciBFWEFNSU5FIGNvbW1hbmQu IgogCSAgICAoZG9saXN0IChzcGVjIHNwZWNzKQogCSAgICAgICh3aGVuIChh bmQgKG5vdCAobWVtYmVyIChjYXIgc3BlYykgZ3JvdXBzKSkKIAkJCSAobm90 IChlcSAoY2FyIHNwZWMpICdqdW5rKSkpCi0JCShubmltYXAtY29tbWFuZCAi Q1JFQVRFICVTIiAodXRmNy1lbmNvZGUgKGNhciBzcGVjKSB0KSkpKQorCQko bm5pbWFwLWNvbW1hbmQgIkNSRUFURSAlUyIgKG5uaW1hcC1ncm91cC10by1p bWFwIChjYXIgc3BlYykpKSkpCiAJICAgIDs7IFRoZW4gY29weSBvdmVyIGFs bCB0aGUgbWVzc2FnZXMuCiAJICAgIChlcmFzZS1idWZmZXIpCiAJICAgIChk b2xpc3QgKHNwZWMgc3BlY3MpCkBAIC0yMTE0LDcgKzIxMTgsNyBAQCBSZXR1 cm4gdGhlIHNlcnZlcidzIHJlc3BvbnNlIHRvIHRoZSBTRUxFQ1Qgb3IgRVhB TUlORSBjb21tYW5kLiIKIAkJCQkgICAgICJVSUQgTU9WRSAlcyAlUyIKIAkJ CQkgICAiVUlEIENPUFkgJXMgJVMiKQogCQkJCSAobm5pbWFwLWFydGljbGUt cmFuZ2VzIHJhbmdlcykKLQkJCQkgKHV0ZjctZW5jb2RlIGdyb3VwIHQpKQor CQkJCShubmltYXAtZ3JvdXAtdG8taW1hcCBncm91cCkpCiAJCQkJcmFuZ2Vz KQogCQkJICBzZXF1ZW5jZXMpKSkpKQogCSAgICA7OyBXYWl0IGZvciB0aGUg bGFzdCBDT1BZIHJlc3BvbnNlLi4uCi0tIAoyLjExLjAKCg== --_----------=_15048000773651370 Content-Disposition: attachment; filename="0002-nnimap.el-Add-support-for-IMAP-namespaces.patch" Content-Id: <1504800076.365132.f28a20e5037e6fe151b9b07f58ad59da410f6f52.2A53A44E@content.messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0002-nnimap.el-Add-support-for-IMAP-namespaces.patch" RnJvbSA3YzNjZWMxM2I4NzQwNGE5ODVkYzhmODIxZjhlZjZhZjNkMDcyMDcz IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGF1cyBSYXRo IDxOaWtvbGF1c0ByYXRoLm9yZz4KRGF0ZTogVHVlLCAxNCBKdWwgMjAxNSAx OTowMzowOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBubmltYXAuZWw6 IEFkZCBzdXBwb3J0IGZvciBJTUFQIG5hbWVzcGFjZXMuCgoqIGxpc3AvZ251 cy9ubmltYXAuZWwgKG5uaW1hcC11c2UtbmFtZXNwYWNlcyk6IGludHJvZHVj ZWQgbmV3IHNlcnZlciB2YXJpYWJsZS4KKG5uaW1hcC1ncm91cC10by1pbWFw LCBubmltYXAtZ2V0LWdyb3Vwcyk6IHRyYW5zZm9ybSBJTUFQIGdyb3VwIG5h bWVzCnRvIEdudXMgZ3JvdXAgbmFtZSBieSBzdHJpcHBpbmcgLyBwcmVmaXhp bmcgcGVyc29uYWwgbmFtZXNwYWNlIHByZWZpeC4KKG5uaW1hcC1vcGVuLWNv bm5lY3Rpb24tMSk6IGFzayBzZXJ2ZXIgZm9yIG5hbWVzcGFjZXMgYW5kIHN0 b3JlIHRoZW0uCi0tLQogbGlzcC9nbnVzL25uaW1hcC5lbCB8IDY2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9nbnVzL25uaW1hcC5lbCBi L2xpc3AvZ251cy9ubmltYXAuZWwKaW5kZXggYTk0MmQ4Li4zZWRlNGQgMTAw NjQ0Ci0tLSBhL2xpc3AvZ251cy9ubmltYXAuZWwKKysrIGIvbGlzcC9nbnVz L25uaW1hcC5lbApAQCAtNTUsNiArNTUsMTMgQEAKIElmIG5uaW1hcC1zdHJl YW0gaXMgYHNzbCcsIHRoaXMgd2lsbCBkZWZhdWx0IHRvIGBpbWFwcycuICBJ ZiBub3QsCiBpdCB3aWxsIGRlZmF1bHQgdG8gYGltYXAnLiIpCiAKKyhkZWZ2 b28gbm5pbWFwLXVzZS1uYW1lc3BhY2VzIG5pbAorICAiV2hldGhlciB0byB1 c2UgSU1BUCBuYW1lc3BhY2VzLgorSWYgaW4gR251cyB5b3VyIGZvbGRlciBu YW1lcyBpbiBhbGwgc3RhcnQgd2l0aCAoZS5nLikgYElOQk9YJywKK3lvdSBw cm9iYWJseSB3YW50IHRvIHNldCB0aGlzIHRvIHQuIFRoZSBlZmZlY3RzIG9m IHRoaXMgYXJlCitwdXJlbHkgY29zbWV0aWNhbCwgYnV0IGNoYW5naW5nIHRo aXMgdmFyaWFibGUgd2lsbCBhZmZlY3QgdGhlCituYW1lcyBvZiB5b3VyIG5u aW1hcCBncm91cHMuICIpCisKIChkZWZ2b28gbm5pbWFwLXN0cmVhbSAndW5k ZWNpZGVkCiAgICJIb3cgbm5pbWFwIHRhbGtzIHRvIHRoZSBJTUFQIHNlcnZl ci4KIFRoZSB2YWx1ZSBzaG91bGQgYmUgZWl0aGVyIGB1bmRlY2lkZWQnLCBg c3NsJyBvciBgdGxzJywKQEAgLTExNiw2ICsxMjMsOCBAQCBzb21lIHNlcnZl cnMuIikKIChkZWZ1biBubmltYXAtZW5jb2RlLWdudXMtZ3JvdXAgKGdyb3Vw KQogICAoZW5jb2RlLWNvZGluZy1zdHJpbmcgZ3JvdXAgJ3V0Zi04KSkKIAor KHNldHEgbm5pbWFwLW5hbWVzcGFjZXMgbmlsKQorCiAoZGVmdm9vIG5uaW1h cC1mZXRjaC1wYXJ0aWFsLWFydGljbGVzIG5pbAogICAiSWYgbm9uLW5pbCwg R251cyB3aWxsIGZldGNoIHBhcnRpYWwgYXJ0aWNsZXMuCiBJZiB0LCBHbnVz IHdpbGwgZmV0Y2ggb25seSB0aGUgZmlyc3QgcGFydC4gIElmIGEgc3RyaW5n LCBpdApAQCAtMTY4LDcgKzE3NywxNyBAQCB0ZXh0dWFsIHBhcnRzLiIpCiAK IChkZWZ1biBubmltYXAtZ3JvdXAtdG8taW1hcCAoZ3JvdXApCiAgICJDb252 ZXJ0IEdudXMgZ3JvdXAgbmFtZSB0byBJTUFQIG1haWxib3ggbmFtZS4iCi0g ICh1dGY3LWVuY29kZSBncm91cCB0KSkKKyAgKGxldCogKChwcmVmaXggKGNh ZHIgKGFzc29jIChubm9vLWN1cnJlbnQtc2VydmVyICdubmltYXApCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBubmltYXAtbmFtZXNwYWNlcykp KQorICAgICAgICAgKGluYm94IChzdWJzdHJpbmcgcHJlZml4IDAgLTEpKSkK KyAgICAodXRmNy1lbmNvZGUKKyAgICAgKGNvbmQgKChvciAobm90IHByZWZp eCkKKyAgICAgICAgICAgICAgICAoc3RyaW5nLWVxdWFsIGdyb3VwIGluYm94 KSkKKyAgICAgICAgICAgIGdyb3VwKQorICAgICAgICAgICAoKHN0cmluZy1w cmVmaXgtcCAiIyIgZ3JvdXApCisgICAgICAgICAgICAoc3Vic3RyaW5nIGdy b3VwIDEpKQorICAgICAgICAgICAodAorICAgICAgICAgICAgKGNvbmNhdCBw cmVmaXggZ3JvdXApKSkgdCkpKQogCiAoZGVmdW4gbm5pbWFwLWJ1ZmZlciAo KQogICAobm5pbWFwLWZpbmQtcHJvY2Vzcy1idWZmZXIgbm50cC1zZXJ2ZXIt YnVmZmVyKSkKQEAgLTQ0NSw3ICs0NjQsOCBAQCB0ZXh0dWFsIHBhcnRzLiIp CiAJICAgICAocHJvcHMgKGNkciBzdHJlYW0tbGlzdCkpCiAJICAgICAoZ3Jl ZXRpbmcgKHBsaXN0LWdldCBwcm9wcyA6Z3JlZXRpbmcpKQogCSAgICAgKGNh cGFiaWxpdGllcyAocGxpc3QtZ2V0IHByb3BzIDpjYXBhYmlsaXRpZXMpKQot CSAgICAgKHN0cmVhbS10eXBlIChwbGlzdC1nZXQgcHJvcHMgOnR5cGUpKSkK KwkgICAgIChzdHJlYW0tdHlwZSAocGxpc3QtZ2V0IHByb3BzIDp0eXBlKSkK KyAgICAgICAgICAgICAoc2VydmVyIChubm9vLWN1cnJlbnQtc2VydmVyICdu bmltYXApKSkKIAkod2hlbiAoYW5kIHN0cmVhbSAobm90IChtZW1xIChwcm9j ZXNzLXN0YXR1cyBzdHJlYW0pICcob3BlbiBydW4pKSkpCiAJICAoc2V0cSBz dHJlYW0gbmlsKSkKIApAQCAtNDc4LDkgKzQ5OCw3IEBAIHRleHR1YWwgcGFy dHMuIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyB0aGUg dmlydHVhbCBzZXJ2ZXIgbmFtZSBhbmQgdGhlIGFkZHJlc3MKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAobm5pbWFwLWNyZWRlbnRpYWxzCiAJ CQkJKGdudXMtZGVsZXRlLWR1cGxpY2F0ZXMKLQkJCQkgKGxpc3QKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobm5vby1jdXJyZW50LXNl cnZlciAnbm5pbWFwKQotCQkJCSAgbm5pbWFwLWFkZHJlc3MpKQorCQkJCSAo bGlzdCBzZXJ2ZXIgbm5pbWFwLWFkZHJlc3MpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwb3J0cwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBubmltYXAtdXNlcikpKSkKIAkJICAoc2V0cSBubmltYXAt b2JqZWN0IG5pbCkKQEAgLTQ5OSw3ICs1MTcsMjEgQEAgdGV4dHVhbCBwYXJ0 cy4iKQogCQkgICAgICAoZG9saXN0IChyZXNwb25zZSAoY2RkciAobm5pbWFw LWNvbW1hbmQgIkNBUEFCSUxJVFkiKSkpCiAJCQkod2hlbiAoc3RyaW5nPSAi Q0FQQUJJTElUWSIgKHVwY2FzZSAoY2FyIHJlc3BvbnNlKSkpCiAJCQkgIChz ZXRmIChubmltYXAtY2FwYWJpbGl0aWVzIG5uaW1hcC1vYmplY3QpCi0JCQkJ KG1hcGNhciAjJ3VwY2FzZSAoY2RyIHJlc3BvbnNlKSkpKSkpCisJCQkJKG1h cGNhciAjJ3VwY2FzZSAoY2RyIHJlc3BvbnNlKSkpKSkKKyAgICAgICAgICAg ICAgICAgICAgICAod2hlbiAoYW5kIG5uaW1hcC11c2UtbmFtZXNwYWNlcwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5uaW1hcC1jYXBh YmlsaXR5ICJOQU1FU1BBQ0UiKSkKKyAgICAgICAgICAgICAgICAgICAgICAg IChlcmFzZS1idWZmZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAobm5p bWFwLXdhaXQtZm9yLXJlc3BvbnNlIChubmltYXAtc2VuZC1jb21tYW5kICJO QU1FU1BBQ0UiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChy ZXNwb25zZSAobm5pbWFwLWxhc3QtcmVzcG9uc2Utc3RyaW5nKSkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICh3aGVuIChzdHJpbmctbWF0Y2gKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJeXFwqXFxXK05BTUVT UEFDRVxcVysoKFwiXFwoW15cIlxuXStcXClcIlxcVytcIlxcKC5cXClcIikp XFxXKyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv bnNlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChuYW1l c3BhY2UgKGNvbnMgKG1hdGNoLXN0cmluZyAxIHJlc3BvbnNlKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG1hdGNoLXN0cmluZyAyIHJlc3BvbnNlKSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGVudHJ5IChhc3NvYyBzZXJ2ZXIgbm5pbWFw LW5hbWVzcGFjZXMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChpZiBlbnRyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzZXRjZHIgZW50cnkgbmFtZXNwYWNlKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAocHVzaCAoY29ucyBzZXJ2ZXIgbmFtZXNwYWNlKSBu bmltYXAtbmFtZXNwYWNlcykpKSkpKSkKIAkJICA7OyBJZiB0aGUgbG9naW4g ZmFpbGVkLCB0aGVuIGZvcmdldCB0aGUgY3JlZGVudGlhbHMKIAkJICA7OyB0 aGF0IGFyZSBub3cgcG9zc2libHkgY2FjaGVkLgogCQkgIChkb2xpc3QgKGhv c3QgKGxpc3QgKG5ub28tY3VycmVudC1zZXJ2ZXIgJ25uaW1hcCkKQEAgLTEy NzIsOCArMTMwNCwxMiBAQCBJZiBMSU1JVCwgZmlyc3QgdHJ5IHRvIGxpbWl0 IHRoZSBzZWFyY2ggdG8gdGhlIE4gbGFzdCBhcnRpY2xlcy4iCiAKIChkZWZ1 biBubmltYXAtZ2V0LWdyb3VwcyAoKQogICAoZXJhc2UtYnVmZmVyKQotICAo bGV0ICgoc2VxdWVuY2UgKG5uaW1hcC1zZW5kLWNvbW1hbmQgIkxJU1QgXCJc IiBcIipcIiIpKQotCWdyb3VwcykKKyAgKGxldCogKChzZXF1ZW5jZSAobm5p bWFwLXNlbmQtY29tbWFuZCAiTElTVCBcIlwiIFwiKlwiIikpCisgICAgICAg ICAocHJlZml4IChjYWRyIChhc3NvYyAobm5vby1jdXJyZW50LXNlcnZlciAn bm5pbWFwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm5pbWFw LW5hbWVzcGFjZXMpKSkKKyAgICAgICAgIChwcmVmaXgtbGVuIChsZW5ndGgg cHJlZml4KSkKKyAgICAgICAgIChpbmJveCAoc3Vic3RyaW5nIHByZWZpeCAw IC0xKSkKKyAgICAgICAgIGdyb3VwcykKICAgICAobm5pbWFwLXdhaXQtZm9y LXJlc3BvbnNlIHNlcXVlbmNlKQogICAgIChzdWJzdC1jaGFyLWluLXJlZ2lv biAocG9pbnQtbWluKSAocG9pbnQtbWF4KQogCQkJICA/XFwgPyUgdCkKQEAg LTEyOTAsMTEgKzEzMjYsMTUgQEAgSWYgTElNSVQsIGZpcnN0IHRyeSB0byBs aW1pdCB0aGUgc2VhcmNoIHRvIHRoZSBOIGxhc3QgYXJ0aWNsZXMuIgogCQkJ ICAgKHNraXAtY2hhcnMtYmFja3dhcmQgIiBcclwiIikKIAkJCSAgIChwb2lu dCkpKSkpCiAJKHVubGVzcyAobWVtYmVyICclTm9TZWxlY3QgZmxhZ3MpCi0J ICAocHVzaCAodXRmNy1kZWNvZGUgKGlmIChzdHJpbmdwIGdyb3VwKQotCQkJ CSBncm91cAotCQkJICAgICAgIChmb3JtYXQgIiVzIiBncm91cCkpCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHQpCi0JCWdyb3VwcykpKSkKKyAg ICAgICAgICAobGV0KiAoKGdyb3VwICh1dGY3LWRlY29kZSAoaWYgKHN0cmlu Z3AgZ3JvdXApIGdyb3VwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZm9ybWF0ICIlcyIgZ3JvdXApKSB0KSkKKyAgICAgICAg ICAgICAgICAgKGdyb3VwIChjb25kICgoZXF1YWwgaW5ib3ggZ3JvdXApCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXApCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoKHN0cmluZy1wcmVmaXgtcCBwcmVm aXggZ3JvdXApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1 YnN0cmluZyBncm91cCBwcmVmaXgtbGVuKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGNvbmNhdCAiIyIgZ3JvdXApKSkpKQorICAgICAgICAgICAgKHB1c2gg Z3JvdXAgZ3JvdXBzKSkpKSkKICAgICAobnJldmVyc2UgZ3JvdXBzKSkpCiAK IChkZWZ1biBubmltYXAtZ2V0LXJlc3BvbnNlcyAoc2VxdWVuY2VzKQotLSAK Mi4xMS4wCgo= --_----------=_15048000773651370-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 13 13:30:41 2017 Received: (at 21057) by debbugs.gnu.org; 13 Sep 2017 17:30:41 +0000 Received: from localhost ([127.0.0.1]:38653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsBUn-0002tY-C3 for submit@debbugs.gnu.org; Wed, 13 Sep 2017 13:30:41 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:56102) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsBUl-0002tQ-Jy for 21057@debbugs.gnu.org; Wed, 13 Sep 2017 13:30:40 -0400 Received: from cm-84.209.243.26.getinternet.no ([84.209.243.26] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dsBUh-0004hJ-Ul; Wed, 13 Sep 2017 19:30:37 +0200 From: Lars Ingebrigtsen To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> Date: Wed, 13 Sep 2017 19:30:35 +0200 In-Reply-To: <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> (Nikolaus Rath's message of "Thu, 07 Sep 2017 18:01:17 +0200") Message-ID: <87k212zetg.fsf@mouse.gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Nikolaus Rath writes: > Thanks for the review, revised patches attached. Looks good to me. It needs to be documented in the manual, though, and perhaps a NEWS entry... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 17 04:17:01 2017 Received: (at 21057) by debbugs.gnu.org; 17 Sep 2017 08:17:01 +0000 Received: from localhost ([127.0.0.1]:44428 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtUl8-00052r-3c for submit@debbugs.gnu.org; Sun, 17 Sep 2017 04:17:01 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:53581) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtUl3-00052f-2w for 21057@debbugs.gnu.org; Sun, 17 Sep 2017 04:16:57 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 6219B21130; Sun, 17 Sep 2017 04:16:52 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Sun, 17 Sep 2017 04:16:52 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=WF04wdoebm+Tw7G4iY V3Yl7cg4/zJgs0xB2l9Dd/Hb8=; b=c4HCSKhYbF5ZACzpw+ONjzpt00h4kPXzeT KqduPl9JnJYuBEr1FsGAWam0rM8u+p/dNPKzVdM2Z7COHnTL31Mfky8BUfKadIhX LxyeQbwdcc4zAeBt4xs4uW6wA1fmH8XIrrW2Gf8DXsvuORIFrx1kpw4Ufgkkxd7x D8OCKQ94C4Y+jMIsojcb/ZNft8IeDrcMdsUtCC2tHcSKpe1B0dg38JsNg2pqZ0oo gJAH28GyoWOeuQMsWOWfVoWdoqUsI7tZfPMCkovm7BreVpQLZLYic7lfGMjZ4obU 8gX+zNywwo6LAACu0kCx3L/ZUX7UHXTgqzLZphYGQqIQzDCagXKQ== X-ME-Sender: X-Sasl-enc: PyXAT2Y6+W4a6wL2Y5pDKL+TgNDXhtVuABPbGnLK8/H+ 1505636212 Received: from ebox.rath.org (ebox.rath.org [45.79.69.51]) by mail.messagingengine.com (Postfix) with ESMTPA id 10C497F955; Sun, 17 Sep 2017 04:16:52 -0400 (EDT) Received: from vostro.rath.org (vostro [192.168.12.4]) by ebox.rath.org (Postfix) with ESMTPS id 02AED195; Sun, 17 Sep 2017 08:16:51 +0000 (UTC) Received: by vostro.rath.org (Postfix, from userid 1000) id 94AE91023AF; Sun, 17 Sep 2017 09:16:49 +0100 (BST) From: Nikolaus Rath To: Lars Ingebrigtsen Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> Date: Sun, 17 Sep 2017 09:16:49 +0100 In-Reply-To: <87k212zetg.fsf@mouse.gnus.org> (Lars Ingebrigtsen's message of "Wed, 13 Sep 2017 19:30:35 +0200") Message-ID: <877ewxoi32.fsf@vostro.rath.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Sep 13 2017, Lars Ingebrigtsen wrote: > Nikolaus Rath writes: > >> Thanks for the review, revised patches attached. > > Looks good to me. It needs to be documented in the manual, though, and > perhaps a NEWS entry... Updated patch is attached. Best, -Nikolaus --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-nnimap.el-factor-out-nnimap-group-to-imap.patch >From 2c1c2ccaeb0c19649d125b64fe3f917c7a3fbb76 Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Sun, 12 Jul 2015 11:10:28 -0700 Subject: [PATCH 1/2] nnimap.el: factor out nnimap-group-to-imap * lisp/gnus/nnimap.el (nnimap-request-group-scan) (nnimap-request-create-group, nnimap-request-delete-group) (nnimap-request-rename-group, nnimap-request-move-article) (nnimap-process-expiry-targets) (nnimap-request-update-group-status) (nnimap-request-accept-article, nnimap-request-list) (nnimap-retrieve-group-data-early, nnimap-change-group) (nnimap-split-incoming-mail): use nnimap-group-to-imap. (nnimap-group-to-imap): new function to map Gnus group names to IMAP folder names. --- lisp/gnus/nnimap.el | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 6e2a7..a646f4 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -166,6 +166,10 @@ nnimap-quirks (defvar nnimap-inhibit-logging nil) +(defun nnimap-group-to-imap (group) + "Convert Gnus group name to IMAP mailbox name." + (utf7-encode group t)) + (defun nnimap-buffer () (nnimap-find-process-buffer nntp-server-buffer)) @@ -834,7 +838,7 @@ nnimap-request-group-scan (with-current-buffer (nnimap-buffer) (erase-buffer) (let ((group-sequence - (nnimap-send-command "SELECT %S" (utf7-encode group t))) + (nnimap-send-command "SELECT %S" (nnimap-group-to-imap group))) (flag-sequence (nnimap-send-command "UID FETCH 1:* FLAGS"))) (setf (nnimap-group nnimap-object) group) @@ -867,13 +871,13 @@ nnimap-request-create-group (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) + (car (nnimap-command "CREATE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-delete-group (group &optional _force server) (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) + (car (nnimap-command "DELETE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-rename-group (group new-name &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -881,7 +885,7 @@ nnimap-request-rename-group (with-current-buffer (nnimap-buffer) (nnimap-unselect-group) (car (nnimap-command "RENAME %S %S" - (utf7-encode group t) (utf7-encode new-name t)))))) + (nnimap-group-to-imap group) (nnimap-group-to-imap new-name)))))) (defun nnimap-unselect-group () ;; Make sure we don't have this group open read/write by asking @@ -941,7 +945,7 @@ nnimap-request-move-article "UID COPY %d %S")) (result (nnimap-command command article - (utf7-encode internal-move-group t)))) + (nnimap-group-to-imap internal-move-group)))) (when (and (car result) (not can-move)) (nnimap-delete-article article)) (cons internal-move-group @@ -1008,7 +1012,7 @@ nnimap-process-expiry-targets "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges (gnus-compress-sequence articles)) - (utf7-encode (gnus-group-real-name nnmail-expiry-target) t)) + (nnimap-group-to-imap (gnus-group-real-name nnmail-expiry-target))) (set (if can-move 'deleted-articles 'articles-to-delete) articles)))) t) (t @@ -1133,7 +1137,7 @@ nnimap-request-update-group-status (unsubscribe "UNSUBSCRIBE"))))) (when command (with-current-buffer (nnimap-buffer) - (nnimap-command "%s %S" (cadr command) (utf7-encode group t))))))) + (nnimap-command "%s %S" (cadr command) (nnimap-group-to-imap group))))))) (deffoo nnimap-request-set-mark (group actions &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -1188,7 +1192,7 @@ nnimap-request-accept-article (nnimap-unselect-group)) (erase-buffer) (setq sequence (nnimap-send-command - "APPEND %S {%d}" (utf7-encode group t) + "APPEND %S {%d}" (nnimap-group-to-imap group) (length message))) (unless nnimap-streaming (nnimap-wait-for-connection "^[+]")) @@ -1316,7 +1320,7 @@ nnimap-request-list (dolist (group groups) (setf (nnimap-examined nnimap-object) group) (push (list (nnimap-send-command "EXAMINE %S" - (utf7-encode group t)) + (nnimap-group-to-imap group)) group) sequences)) (nnimap-wait-for-response (caar sequences)) @@ -1388,7 +1392,7 @@ nnimap-retrieve-group-data-early unexist) (push (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" - (utf7-encode group t) + (nnimap-group-to-imap group) (nnimap-quirk "QRESYNC") uidvalidity modseq) 'qresync @@ -1410,7 +1414,7 @@ nnimap-retrieve-group-data-early (incf (nnimap-initial-resync nnimap-object)) (setq start 1)) (push (list (nnimap-send-command "%s %S" command - (utf7-encode group t)) + (nnimap-group-to-imap group)) (nnimap-send-command "UID FETCH %d:* FLAGS" start) start group command) sequences)))) @@ -1842,7 +1846,7 @@ nnimap-change-group (if read-only "EXAMINE" "SELECT") - (utf7-encode group t)))) + (nnimap-group-to-imap group)))) (when (car result) (setf (nnimap-group nnimap-object) group (nnimap-select-result nnimap-object) result) @@ -2098,7 +2102,7 @@ nnimap-split-incoming-mail (dolist (spec specs) (when (and (not (member (car spec) groups)) (not (eq (car spec) 'junk))) - (nnimap-command "CREATE %S" (utf7-encode (car spec) t)))) + (nnimap-command "CREATE %S" (nnimap-group-to-imap (car spec))))) ;; Then copy over all the messages. (erase-buffer) (dolist (spec specs) @@ -2114,7 +2118,7 @@ nnimap-split-incoming-mail "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges ranges) - (utf7-encode group t)) + (nnimap-group-to-imap group)) ranges) sequences))))) ;; Wait for the last COPY response... -- 2.11.0 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0002-nnimap.el-Add-support-for-IMAP-namespaces.patch >From f5079a11c20944027465ea21291a8fc9e7ad3be1 Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Tue, 14 Jul 2015 19:03:09 -0700 Subject: [PATCH 2/2] nnimap.el: Add support for IMAP namespaces. * lisp/gnus/nnimap.el (nnimap-use-namespaces): introduced new server variable. (nnimap-group-to-imap, nnimap-get-groups): transform IMAP group names to Gnus group name by stripping / prefixing personal namespace prefix. (nnimap-open-connection-1): ask server for namespaces and store them. --- doc/misc/gnus.texi | 6 +++++ etc/NEWS | 5 ++++ lisp/gnus/nnimap.el | 66 ++++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 64 insertions(+), 13 deletions(-) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 88e121..4b33e 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -14301,6 +14301,12 @@ Customizing the IMAP Connection If non-@code{nil}, record all @acronym{IMAP} commands in the @samp{"*imap log*"} buffer. +@item nnimap-use-namespaces +If non-@code{nil}, omit the IMAP namespace prefix in nnimap group +names. If your IMAP mailboxes are called something like @samp{INBOX} +and @samp{INBOX.Lists.emacs}, but you'd like the nnimap group names to +be @samp{INBOX} and @samp{Lists.emacs}, you should enable this option. + @end table diff --git a/etc/NEWS b/etc/NEWS index 371cd..1f905d 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -37,6 +37,11 @@ When you add a new item, use the appropriate mark if you are sure it applies, * Changes in Specialized Modes and Packages in Emacs 27.1 +** Gnus + ++++ +*** The nnimap backend now has support for IMAP namespaces. + * New Modes and Packages in Emacs 27.1 diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index a646f4..7ad54a 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -55,6 +55,13 @@ nnimap-server-port If nnimap-stream is `ssl', this will default to `imaps'. If not, it will default to `imap'.") +(defvoo nnimap-use-namespaces nil + "Whether to use IMAP namespaces. +If in Gnus your folder names in all start with (e.g.) `INBOX', +you probably want to set this to t. The effects of this are +purely cosmetical, but changing this variable will affect the +names of your nnimap groups. ") + (defvoo nnimap-stream 'undecided "How nnimap talks to the IMAP server. The value should be either `undecided', `ssl' or `tls', @@ -116,6 +123,8 @@ nnimap-decode-gnus-group (defun nnimap-encode-gnus-group (group) (encode-coding-string group 'utf-8)) +(setq nnimap-namespaces nil) + (defvoo nnimap-fetch-partial-articles nil "If non-nil, Gnus will fetch partial articles. If t, Gnus will fetch only the first part. If a string, it @@ -168,7 +177,17 @@ nnimap-inhibit-logging (defun nnimap-group-to-imap (group) "Convert Gnus group name to IMAP mailbox name." - (utf7-encode group t)) + (let* ((prefix (cadr (assoc (nnoo-current-server 'nnimap) + nnimap-namespaces))) + (inbox (substring prefix 0 -1))) + (utf7-encode + (cond ((or (not prefix) + (string-equal group inbox)) + group) + ((string-prefix-p "#" group) + (substring group 1)) + (t + (concat prefix group))) t))) (defun nnimap-buffer () (nnimap-find-process-buffer nntp-server-buffer)) @@ -445,7 +464,8 @@ nnimap-open-connection-1 (props (cdr stream-list)) (greeting (plist-get props :greeting)) (capabilities (plist-get props :capabilities)) - (stream-type (plist-get props :type))) + (stream-type (plist-get props :type)) + (server (nnoo-current-server 'nnimap))) (when (and stream (not (memq (process-status stream) '(open run)))) (setq stream nil)) @@ -478,9 +498,7 @@ nnimap-open-connection-1 ;; the virtual server name and the address (nnimap-credentials (gnus-delete-duplicates - (list - (nnoo-current-server 'nnimap) - nnimap-address)) + (list server nnimap-address)) ports nnimap-user)))) (setq nnimap-object nil) @@ -499,7 +517,21 @@ nnimap-open-connection-1 (dolist (response (cddr (nnimap-command "CAPABILITY"))) (when (string= "CAPABILITY" (upcase (car response))) (setf (nnimap-capabilities nnimap-object) - (mapcar #'upcase (cdr response)))))) + (mapcar #'upcase (cdr response))))) + (when (and nnimap-use-namespaces + (nnimap-capability "NAMESPACE")) + (erase-buffer) + (nnimap-wait-for-response (nnimap-send-command "NAMESPACE")) + (let ((response (nnimap-last-response-string))) + (when (string-match + "^\\*\\W+NAMESPACE\\W+((\"\\([^\"\n]+\\)\"\\W+\"\\(.\\)\"))\\W+" + response) + (let ((namespace (cons (match-string 1 response) + (match-string 2 response))) + (entry (assoc server nnimap-namespaces))) + (if entry + (setcdr entry namespace) + (push (cons server namespace) nnimap-namespaces))))))) ;; If the login failed, then forget the credentials ;; that are now possibly cached. (dolist (host (list (nnoo-current-server 'nnimap) @@ -1272,8 +1304,12 @@ nnimap-add-cr (defun nnimap-get-groups () (erase-buffer) - (let ((sequence (nnimap-send-command "LIST \"\" \"*\"")) - groups) + (let* ((sequence (nnimap-send-command "LIST \"\" \"*\"")) + (prefix (cadr (assoc (nnoo-current-server 'nnimap) + nnimap-namespaces))) + (prefix-len (length prefix)) + (inbox (substring prefix 0 -1)) + groups) (nnimap-wait-for-response sequence) (subst-char-in-region (point-min) (point-max) ?\\ ?% t) @@ -1290,11 +1326,15 @@ nnimap-get-groups (skip-chars-backward " \r\"") (point))))) (unless (member '%NoSelect flags) - (push (utf7-decode (if (stringp group) - group - (format "%s" group)) - t) - groups)))) + (let* ((group (utf7-decode (if (stringp group) group + (format "%s" group)) t)) + (group (cond ((equal inbox group) + group) + ((string-prefix-p prefix group) + (substring group prefix-len)) + (t + (concat "#" group))))) + (push group groups))))) (nreverse groups))) (defun nnimap-get-responses (sequences) -- 2.11.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 09:25:54 2017 Received: (at 21057) by debbugs.gnu.org; 6 Dec 2017 14:25:54 +0000 Received: from localhost ([127.0.0.1]:48653 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMadz-0003SQ-7A for submit@debbugs.gnu.org; Wed, 06 Dec 2017 09:25:54 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:39041) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMadt-0003SE-Bu for 21057@debbugs.gnu.org; Wed, 06 Dec 2017 09:25:49 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 0637B20EC0; Wed, 6 Dec 2017 09:25:45 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Wed, 06 Dec 2017 09:25:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=OOSLql YtLnc3fsJUxnxv5t+AzX1Ylk/XtOWG/b5W64I=; b=IlwI0EzRWnwKFa6ugFkzoG VdY+1r1YSazei0y5SNbvo3XxExNRDmHBxFVzlEc7zB+Uls7lofz0gd9VG2lw+DoK sWrEUQPKnZDI12aW+XRiKZ1P9KJqNUD9dw36xHIpXaD2ZZToUKYDTiSxfabztVI1 bd5qU0AmCu+450ORLlbS3IHOLx5Nqq8QCLmL5c2qIIYNwLI8qMohBgW/kp98gtwY XPkymCBqNLwJPS0iQR7V3eIPE9C6lBMjsQ3uvi7GuJhzyNqpbFameoxCCnuJZCtO fN95TrHmZHAWmajhJ21Y4bWXSm+HPoWsSDcqe7xK1hgGSnCTAbgMjq3G8iaDSOiQ == X-ME-Sender: Received: from ebox.rath.org (ebox.rath.org [185.3.94.194]) by mail.messagingengine.com (Postfix) with ESMTPA id 99FE47F91C; Wed, 6 Dec 2017 09:25:44 -0500 (EST) Received: from vostro.rath.org (vostro [192.168.12.4]) by ebox.rath.org (Postfix) with ESMTPS id A84BE3B; Wed, 6 Dec 2017 14:25:43 +0000 (UTC) Received: by vostro.rath.org (Postfix, from userid 1000) id 60C01103240; Wed, 6 Dec 2017 14:25:43 +0000 (GMT) From: Nikolaus Rath To: Lars Ingebrigtsen Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> Date: Wed, 06 Dec 2017 14:25:43 +0000 In-Reply-To: <877ewxoi32.fsf@vostro.rath.org> (Nikolaus Rath's message of "Sun, 17 Sep 2017 09:16:49 +0100") Message-ID: <87o9ncx7a0.fsf@vostro.rath.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) *ping* It's been 80 days. Any chance someone could take a look? If I understand correctly, the only thing that needs review are the added manual and NEWS entries. Best, -Nikolaus On Sep 17 2017, Nikolaus Rath wrote: > On Sep 13 2017, Lars Ingebrigtsen wrote: >> Nikolaus Rath writes: >> >>> Thanks for the review, revised patches attached. >> >> Looks good to me. It needs to be documented in the manual, though, and >> perhaps a NEWS entry... > > Updated patch is attached. > > Best, > -Nikolaus > > --=20 > GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F > > =C2=BBTime flies like an arrow, fruit flies like a Banana.= =C2=AB > > From 2c1c2ccaeb0c19649d125b64fe3f917c7a3fbb76 Mon Sep 17 00:00:00 2001 > From: Nikolaus Rath > Date: Sun, 12 Jul 2015 11:10:28 -0700 > Subject: [PATCH 1/2] nnimap.el: factor out nnimap-group-to-imap > > * lisp/gnus/nnimap.el (nnimap-request-group-scan) > (nnimap-request-create-group, nnimap-request-delete-group) > (nnimap-request-rename-group, nnimap-request-move-article) > (nnimap-process-expiry-targets) > (nnimap-request-update-group-status) > (nnimap-request-accept-article, nnimap-request-list) > (nnimap-retrieve-group-data-early, nnimap-change-group) > (nnimap-split-incoming-mail): use nnimap-group-to-imap. > (nnimap-group-to-imap): new function to map Gnus group names to > IMAP folder names. > --- > lisp/gnus/nnimap.el | 32 ++++++++++++++++++-------------- > 1 file changed, 18 insertions(+), 14 deletions(-) > > diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el > index 6e2a7..a646f4 100644 > --- a/lisp/gnus/nnimap.el > +++ b/lisp/gnus/nnimap.el > @@ -166,6 +166,10 @@ nnimap-quirks >=20=20 > (defvar nnimap-inhibit-logging nil) >=20=20 > +(defun nnimap-group-to-imap (group) > + "Convert Gnus group name to IMAP mailbox name." > + (utf7-encode group t)) > + > (defun nnimap-buffer () > (nnimap-find-process-buffer nntp-server-buffer)) >=20=20 > @@ -834,7 +838,7 @@ nnimap-request-group-scan > (with-current-buffer (nnimap-buffer) > (erase-buffer) > (let ((group-sequence > - (nnimap-send-command "SELECT %S" (utf7-encode group t))) > + (nnimap-send-command "SELECT %S" (nnimap-group-to-imap group))) > (flag-sequence > (nnimap-send-command "UID FETCH 1:* FLAGS"))) > (setf (nnimap-group nnimap-object) group) > @@ -867,13 +871,13 @@ nnimap-request-create-group > (setq group (nnimap-decode-gnus-group group)) > (when (nnimap-change-group nil server) > (with-current-buffer (nnimap-buffer) > - (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) > + (car (nnimap-command "CREATE %S" (nnimap-group-to-imap group)))))) >=20=20 > (deffoo nnimap-request-delete-group (group &optional _force server) > (setq group (nnimap-decode-gnus-group group)) > (when (nnimap-change-group nil server) > (with-current-buffer (nnimap-buffer) > - (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) > + (car (nnimap-command "DELETE %S" (nnimap-group-to-imap group)))))) >=20=20 > (deffoo nnimap-request-rename-group (group new-name &optional server) > (setq group (nnimap-decode-gnus-group group)) > @@ -881,7 +885,7 @@ nnimap-request-rename-group > (with-current-buffer (nnimap-buffer) > (nnimap-unselect-group) > (car (nnimap-command "RENAME %S %S" > - (utf7-encode group t) (utf7-encode new-name t)))))) > + (nnimap-group-to-imap group) (nnimap-group-to-imap new-name)))))) >=20=20 > (defun nnimap-unselect-group () > ;; Make sure we don't have this group open read/write by asking > @@ -941,7 +945,7 @@ nnimap-request-move-article > "UID COPY %d %S")) > (result (nnimap-command > command article > - (utf7-encode internal-move-group t)))) > + (nnimap-group-to-imap internal-move-group)= ))) > (when (and (car result) (not can-move)) > (nnimap-delete-article article)) > (cons internal-move-group > @@ -1008,7 +1012,7 @@ nnimap-process-expiry-targets > "UID MOVE %s %S" > "UID COPY %s %S") > (nnimap-article-ranges (gnus-compress-sequence articles)) > - (utf7-encode (gnus-group-real-name nnmail-expiry-target)= t)) > + (nnimap-group-to-imap (gnus-group-real-name nnmail-expir= y-target))) > (set (if can-move 'deleted-articles 'articles-to-delete) = articles)))) > t) > (t > @@ -1133,7 +1137,7 @@ nnimap-request-update-group-status > (unsubscribe "UNSUBSCRIBE"))))) > (when command > (with-current-buffer (nnimap-buffer) > - (nnimap-command "%s %S" (cadr command) (utf7-encode group t))))))) > + (nnimap-command "%s %S" (cadr command) (nnimap-group-to-imap group)))= )))) >=20=20 > (deffoo nnimap-request-set-mark (group actions &optional server) > (setq group (nnimap-decode-gnus-group group)) > @@ -1188,7 +1192,7 @@ nnimap-request-accept-article > (nnimap-unselect-group)) > (erase-buffer) > (setq sequence (nnimap-send-command > - "APPEND %S {%d}" (utf7-encode group t) > + "APPEND %S {%d}" (nnimap-group-to-imap group) > (length message))) > (unless nnimap-streaming > (nnimap-wait-for-connection "^[+]")) > @@ -1316,7 +1320,7 @@ nnimap-request-list > (dolist (group groups) > (setf (nnimap-examined nnimap-object) group) > (push (list (nnimap-send-command "EXAMINE %S" > - (utf7-encode group t)) > + (nnimap-group-to-imap group)) > group) > sequences)) > (nnimap-wait-for-response (caar sequences)) > @@ -1388,7 +1392,7 @@ nnimap-retrieve-group-data-early > unexist) > (push > (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" > - (utf7-encode group t) > + (nnimap-group-to-imap group) > (nnimap-quirk "QRESYNC") > uidvalidity modseq) > 'qresync > @@ -1410,7 +1414,7 @@ nnimap-retrieve-group-data-early > (incf (nnimap-initial-resync nnimap-object)) > (setq start 1)) > (push (list (nnimap-send-command "%s %S" command > - (utf7-encode group t)) > + (nnimap-group-to-imap group)) > (nnimap-send-command "UID FETCH %d:* FLAGS" start) > start group command) > sequences)))) > @@ -1842,7 +1846,7 @@ nnimap-change-group > (if read-only > "EXAMINE" > "SELECT") > - (utf7-encode group t)))) > + (nnimap-group-to-imap group)))) > (when (car result) > (setf (nnimap-group nnimap-object) group > (nnimap-select-result nnimap-object) result) > @@ -2098,7 +2102,7 @@ nnimap-split-incoming-mail > (dolist (spec specs) > (when (and (not (member (car spec) groups)) > (not (eq (car spec) 'junk))) > - (nnimap-command "CREATE %S" (utf7-encode (car spec) t)))) > + (nnimap-command "CREATE %S" (nnimap-group-to-imap (car spec))))) > ;; Then copy over all the messages. > (erase-buffer) > (dolist (spec specs) > @@ -2114,7 +2118,7 @@ nnimap-split-incoming-mail > "UID MOVE %s %S" > "UID COPY %s %S") > (nnimap-article-ranges ranges) > - (utf7-encode group t)) > + (nnimap-group-to-imap group)) > ranges) > sequences))))) > ;; Wait for the last COPY response... > --=20 > 2.11.0 > > From f5079a11c20944027465ea21291a8fc9e7ad3be1 Mon Sep 17 00:00:00 2001 > From: Nikolaus Rath > Date: Tue, 14 Jul 2015 19:03:09 -0700 > Subject: [PATCH 2/2] nnimap.el: Add support for IMAP namespaces. > > * lisp/gnus/nnimap.el (nnimap-use-namespaces): introduced new server vari= able. > (nnimap-group-to-imap, nnimap-get-groups): transform IMAP group names > to Gnus group name by stripping / prefixing personal namespace prefix. > (nnimap-open-connection-1): ask server for namespaces and store them. > --- > doc/misc/gnus.texi | 6 +++++ > etc/NEWS | 5 ++++ > lisp/gnus/nnimap.el | 66 ++++++++++++++++++++++++++++++++++++++++++-----= ------ > 3 files changed, 64 insertions(+), 13 deletions(-) > > diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi > index 88e121..4b33e 100644 > --- a/doc/misc/gnus.texi > +++ b/doc/misc/gnus.texi > @@ -14301,6 +14301,12 @@ Customizing the IMAP Connection > If non-@code{nil}, record all @acronym{IMAP} commands in the > @samp{"*imap log*"} buffer. >=20=20 > +@item nnimap-use-namespaces > +If non-@code{nil}, omit the IMAP namespace prefix in nnimap group > +names. If your IMAP mailboxes are called something like @samp{INBOX} > +and @samp{INBOX.Lists.emacs}, but you'd like the nnimap group names to > +be @samp{INBOX} and @samp{Lists.emacs}, you should enable this option. > + > @end table >=20=20 >=20=20 > diff --git a/etc/NEWS b/etc/NEWS > index 371cd..1f905d 100644 > --- a/etc/NEWS > +++ b/etc/NEWS > @@ -37,6 +37,11 @@ When you add a new item, use the appropriate mark if y= ou are sure it applies, > > * Changes in Specialized Modes and Packages in Emacs 27.1 >=20=20 > +** Gnus > + > ++++ > +*** The nnimap backend now has support for IMAP namespaces. > + > > * New Modes and Packages in Emacs 27.1 >=20=20 > diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el > index a646f4..7ad54a 100644 > --- a/lisp/gnus/nnimap.el > +++ b/lisp/gnus/nnimap.el > @@ -55,6 +55,13 @@ nnimap-server-port > If nnimap-stream is `ssl', this will default to `imaps'. If not, > it will default to `imap'.") >=20=20 > +(defvoo nnimap-use-namespaces nil > + "Whether to use IMAP namespaces. > +If in Gnus your folder names in all start with (e.g.) `INBOX', > +you probably want to set this to t. The effects of this are > +purely cosmetical, but changing this variable will affect the > +names of your nnimap groups. ") > + > (defvoo nnimap-stream 'undecided > "How nnimap talks to the IMAP server. > The value should be either `undecided', `ssl' or `tls', > @@ -116,6 +123,8 @@ nnimap-decode-gnus-group > (defun nnimap-encode-gnus-group (group) > (encode-coding-string group 'utf-8)) >=20=20 > +(setq nnimap-namespaces nil) > + > (defvoo nnimap-fetch-partial-articles nil > "If non-nil, Gnus will fetch partial articles. > If t, Gnus will fetch only the first part. If a string, it > @@ -168,7 +177,17 @@ nnimap-inhibit-logging >=20=20 > (defun nnimap-group-to-imap (group) > "Convert Gnus group name to IMAP mailbox name." > - (utf7-encode group t)) > + (let* ((prefix (cadr (assoc (nnoo-current-server 'nnimap) > + nnimap-namespaces))) > + (inbox (substring prefix 0 -1))) > + (utf7-encode > + (cond ((or (not prefix) > + (string-equal group inbox)) > + group) > + ((string-prefix-p "#" group) > + (substring group 1)) > + (t > + (concat prefix group))) t))) >=20=20 > (defun nnimap-buffer () > (nnimap-find-process-buffer nntp-server-buffer)) > @@ -445,7 +464,8 @@ nnimap-open-connection-1 > (props (cdr stream-list)) > (greeting (plist-get props :greeting)) > (capabilities (plist-get props :capabilities)) > - (stream-type (plist-get props :type))) > + (stream-type (plist-get props :type)) > + (server (nnoo-current-server 'nnimap))) > (when (and stream (not (memq (process-status stream) '(open run)))) > (setq stream nil)) >=20=20 > @@ -478,9 +498,7 @@ nnimap-open-connection-1 > ;; the virtual server name and the address > (nnimap-credentials > (gnus-delete-duplicates > - (list > - (nnoo-current-server 'nnimap) > - nnimap-address)) > + (list server nnimap-address)) > ports > nnimap-user)))) > (setq nnimap-object nil) > @@ -499,7 +517,21 @@ nnimap-open-connection-1 > (dolist (response (cddr (nnimap-command "CAPABILITY"))) > (when (string=3D "CAPABILITY" (upcase (car response))) > (setf (nnimap-capabilities nnimap-object) > - (mapcar #'upcase (cdr response)))))) > + (mapcar #'upcase (cdr response))))) > + (when (and nnimap-use-namespaces > + (nnimap-capability "NAMESPACE")) > + (erase-buffer) > + (nnimap-wait-for-response (nnimap-send-command "= NAMESPACE")) > + (let ((response (nnimap-last-response-string))) > + (when (string-match > + "^\\*\\W+NAMESPACE\\W+((\"\\([^\"\n]+\\= )\"\\W+\"\\(.\\)\"))\\W+" > + response) > + (let ((namespace (cons (match-string 1 respo= nse) > + (match-string 2 respo= nse))) > + (entry (assoc server nnimap-namespaces= ))) > + (if entry > + (setcdr entry namespace) > + (push (cons server namespace) nnimap-nam= espaces))))))) > ;; If the login failed, then forget the credentials > ;; that are now possibly cached. > (dolist (host (list (nnoo-current-server 'nnimap) > @@ -1272,8 +1304,12 @@ nnimap-add-cr >=20=20 > (defun nnimap-get-groups () > (erase-buffer) > - (let ((sequence (nnimap-send-command "LIST \"\" \"*\"")) > - groups) > + (let* ((sequence (nnimap-send-command "LIST \"\" \"*\"")) > + (prefix (cadr (assoc (nnoo-current-server 'nnimap) > + nnimap-namespaces))) > + (prefix-len (length prefix)) > + (inbox (substring prefix 0 -1)) > + groups) > (nnimap-wait-for-response sequence) > (subst-char-in-region (point-min) (point-max) > ?\\ ?% t) > @@ -1290,11 +1326,15 @@ nnimap-get-groups > (skip-chars-backward " \r\"") > (point))))) > (unless (member '%NoSelect flags) > - (push (utf7-decode (if (stringp group) > - group > - (format "%s" group)) > - t) > - groups)))) > + (let* ((group (utf7-decode (if (stringp group) group > + (format "%s" group)) t)) > + (group (cond ((equal inbox group) > + group) > + ((string-prefix-p prefix group) > + (substring group prefix-len)) > + (t > + (concat "#" group))))) > + (push group groups))))) > (nreverse groups))) >=20=20 > (defun nnimap-get-responses (sequences) > --=20 > 2.11.0 > --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 27 16:10:48 2017 Received: (at 21057) by debbugs.gnu.org; 27 Dec 2017 21:10:48 +0000 Received: from localhost ([127.0.0.1]:54224 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eUIyO-0001zp-Fd for submit@debbugs.gnu.org; Wed, 27 Dec 2017 16:10:48 -0500 Received: from hermes.netfonds.no ([80.91.224.195]:55072) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eUIyM-0001zh-NG for 21057@debbugs.gnu.org; Wed, 27 Dec 2017 16:10:47 -0500 Received: from 46.67.72.36.tmi.telenormobil.no ([46.67.72.36] helo=corrigan) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1eUIyI-0000WP-Qe; Wed, 27 Dec 2017 22:10:44 +0100 From: Lars Ingebrigtsen To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> Date: Wed, 27 Dec 2017 22:10:36 +0100 In-Reply-To: <877ewxoi32.fsf@vostro.rath.org> (Nikolaus Rath's message of "Sun, 17 Sep 2017 09:16:49 +0100") Message-ID: <87r2rfj2r7.fsf@mouse.gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Nikolaus Rath writes: >> Looks good to me. It needs to be documented in the manual, though, and >> perhaps a NEWS entry... > > Updated patch is attached. Looks good, but a couple of niggles: > +(setq nnimap-namespaces nil) This should be a defvar, or rather, a defvoo. [...] > + (let* ((prefix (cadr (assoc (nnoo-current-server 'nnimap) > + nnimap-namespaces))) > + (inbox (substring prefix 0 -1))) And then you could just set nnimap-namespaces without maintaining a per-server alist, since that's what the voo machinery does for you (switching out variables on a per-server basis). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu May 31 07:38:36 2018 Received: (at 21057) by debbugs.gnu.org; 31 May 2018 11:38:36 +0000 Received: from localhost ([127.0.0.1]:55674 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fOLud-00081j-Ir for submit@debbugs.gnu.org; Thu, 31 May 2018 07:38:36 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:49779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fOLub-00081b-MY for 21057@debbugs.gnu.org; Thu, 31 May 2018 07:38:34 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 32F8121BA5; Thu, 31 May 2018 07:38:33 -0400 (EDT) Received: from web2 ([10.202.2.212]) by compute1.internal (MEProxy); Thu, 31 May 2018 07:38:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=jrJGqN rqyhcFxh+cBD2dcioZOhBAbJauB2+ZlZexZik=; b=L56ORw2VkB79OQMYMBzFVQ 7FfrF7fqpxku/aj2DxEmzgEhd+Em4Uw8nwFAtRjylLJ/jhFdv1xC0/gorRx+Nx8k wfaidzy1MayqOGDMpyBIYL54RD2+Aw2nypms3ffekD5NdkID97X8RKHEIowfw0DR Kl9fmXfoX93bt7p7ERgO8oBH6HIkyr+DyL0LUBjXO7WnljHipis2PqicJhFZttVA yNt7jkLgozRP05njOVFjL+TyVa6Bo65+rJ92y+kOa7duWFkRUei7qe/myREtc+aD YfeDyPiAA1FzlMVT0psGfNv4/UJszGo3cuHTLU78T6WdTa2uichAIXQffK05C03A == X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Proxy: X-ME-Sender: Received: by mailuser.nyi.internal (Postfix, from userid 99) id D67D3621E6; Thu, 31 May 2018 07:38:32 -0400 (EDT) Message-Id: <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> From: Nikolaus Rath To: Lars Ingebrigtsen MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_152776671236340384" X-Mailer: MessagingEngine.com Webmail Interface - ajax-397f98d6 Date: Thu, 31 May 2018 12:38:32 +0100 Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces In-Reply-To: <87r2rfj2r7.fsf@mouse.gnus.org> References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) This is a multi-part message in MIME format. --_----------=_152776671236340384 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Hi, On Wed, 27 Dec 2017, at 22:10, Lars Ingebrigtsen wrote: > Looks good, but a couple of niggles: >=20 > > +(setq nnimap-namespaces nil) >=20 > This should be a defvar, or rather, a defvoo. >=20 > [...] >=20 > > + (let* ((prefix (cadr (assoc (nnoo-current-server 'nnimap) > > + nnimap-namespaces))) > > + (inbox (substring prefix 0 -1))) >=20 > And then you could just set nnimap-namespaces without maintaining a > per-server alist, since that's what the voo machinery does for you > (switching out variables on a per-server basis). Updated patches attached (and rebased onto current master). Best, -Nikolaus -- GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB --_----------=_152776671236340384 Content-Disposition: attachment; filename="0001-nnimap.el-factor-out-nnimap-group-to-imap.patch" Content-Id: <1527766695.3634035.03171cca1384a9fda30faf8d1bd17b78aa51ec44.2129B31F@content.messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-nnimap.el-factor-out-nnimap-group-to-imap.patch" RnJvbSAyYzFjMmNjYWViMGMxOTY0OWQxMjViNjRmZTNmOTE3YzdhM2ZiYjc2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGF1cyBSYXRo IDxOaWtvbGF1c0ByYXRoLm9yZz4KRGF0ZTogU3VuLCAxMiBKdWwgMjAxNSAx MToxMDoyOCAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS8zXSBubmltYXAuZWw6 IGZhY3RvciBvdXQgbm5pbWFwLWdyb3VwLXRvLWltYXAKCiogbGlzcC9nbnVz L25uaW1hcC5lbCAobm5pbWFwLXJlcXVlc3QtZ3JvdXAtc2NhbikKKG5uaW1h cC1yZXF1ZXN0LWNyZWF0ZS1ncm91cCwgbm5pbWFwLXJlcXVlc3QtZGVsZXRl LWdyb3VwKQoobm5pbWFwLXJlcXVlc3QtcmVuYW1lLWdyb3VwLCBubmltYXAt cmVxdWVzdC1tb3ZlLWFydGljbGUpCihubmltYXAtcHJvY2Vzcy1leHBpcnkt dGFyZ2V0cykKKG5uaW1hcC1yZXF1ZXN0LXVwZGF0ZS1ncm91cC1zdGF0dXMp CihubmltYXAtcmVxdWVzdC1hY2NlcHQtYXJ0aWNsZSwgbm5pbWFwLXJlcXVl c3QtbGlzdCkKKG5uaW1hcC1yZXRyaWV2ZS1ncm91cC1kYXRhLWVhcmx5LCBu bmltYXAtY2hhbmdlLWdyb3VwKQoobm5pbWFwLXNwbGl0LWluY29taW5nLW1h aWwpOiB1c2Ugbm5pbWFwLWdyb3VwLXRvLWltYXAuCihubmltYXAtZ3JvdXAt dG8taW1hcCk6IG5ldyBmdW5jdGlvbiB0byBtYXAgR251cyBncm91cCBuYW1l cyB0bwpJTUFQIGZvbGRlciBuYW1lcy4KLS0tCiBsaXNwL2dudXMvbm5pbWFw LmVsIHwgMzIgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9saXNwL2dudXMvbm5pbWFwLmVsIGIvbGlzcC9n bnVzL25uaW1hcC5lbAppbmRleCA2ZTJhNy4uYTY0NmY0IDEwMDY0NAotLS0g YS9saXNwL2dudXMvbm5pbWFwLmVsCisrKyBiL2xpc3AvZ251cy9ubmltYXAu ZWwKQEAgLTE2Niw2ICsxNjYsMTAgQEAgbm5pbWFwLXF1aXJrcwogCiAoZGVm dmFyIG5uaW1hcC1pbmhpYml0LWxvZ2dpbmcgbmlsKQogCisoZGVmdW4gbm5p bWFwLWdyb3VwLXRvLWltYXAgKGdyb3VwKQorICAiQ29udmVydCBHbnVzIGdy b3VwIG5hbWUgdG8gSU1BUCBtYWlsYm94IG5hbWUuIgorICAodXRmNy1lbmNv ZGUgZ3JvdXAgdCkpCisKIChkZWZ1biBubmltYXAtYnVmZmVyICgpCiAgIChu bmltYXAtZmluZC1wcm9jZXNzLWJ1ZmZlciBubnRwLXNlcnZlci1idWZmZXIp KQogCkBAIC04MzQsNyArODM4LDcgQEAgbm5pbWFwLXJlcXVlc3QtZ3JvdXAt c2NhbgogICAgICAgKHdpdGgtY3VycmVudC1idWZmZXIgKG5uaW1hcC1idWZm ZXIpCiAJKGVyYXNlLWJ1ZmZlcikKIAkobGV0ICgoZ3JvdXAtc2VxdWVuY2UK LQkgICAgICAgKG5uaW1hcC1zZW5kLWNvbW1hbmQgIlNFTEVDVCAlUyIgKHV0 ZjctZW5jb2RlIGdyb3VwIHQpKSkKKwkgICAgICAgKG5uaW1hcC1zZW5kLWNv bW1hbmQgIlNFTEVDVCAlUyIgKG5uaW1hcC1ncm91cC10by1pbWFwIGdyb3Vw KSkpCiAJICAgICAgKGZsYWctc2VxdWVuY2UKIAkgICAgICAgKG5uaW1hcC1z ZW5kLWNvbW1hbmQgIlVJRCBGRVRDSCAxOiogRkxBR1MiKSkpCiAJICAoc2V0 ZiAobm5pbWFwLWdyb3VwIG5uaW1hcC1vYmplY3QpIGdyb3VwKQpAQCAtODY3 LDEzICs4NzEsMTMgQEAgbm5pbWFwLXJlcXVlc3QtY3JlYXRlLWdyb3VwCiAg IChzZXRxIGdyb3VwIChubmltYXAtZGVjb2RlLWdudXMtZ3JvdXAgZ3JvdXAp KQogICAod2hlbiAobm5pbWFwLWNoYW5nZS1ncm91cCBuaWwgc2VydmVyKQog ICAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIChubmltYXAtYnVmZmVyKQotICAg ICAgKGNhciAobm5pbWFwLWNvbW1hbmQgIkNSRUFURSAlUyIgKHV0ZjctZW5j b2RlIGdyb3VwIHQpKSkpKSkKKyAgICAgIChjYXIgKG5uaW1hcC1jb21tYW5k ICJDUkVBVEUgJVMiIChubmltYXAtZ3JvdXAtdG8taW1hcCBncm91cCkpKSkp KQogCiAoZGVmZm9vIG5uaW1hcC1yZXF1ZXN0LWRlbGV0ZS1ncm91cCAoZ3Jv dXAgJm9wdGlvbmFsIF9mb3JjZSBzZXJ2ZXIpCiAgIChzZXRxIGdyb3VwIChu bmltYXAtZGVjb2RlLWdudXMtZ3JvdXAgZ3JvdXApKQogICAod2hlbiAobm5p bWFwLWNoYW5nZS1ncm91cCBuaWwgc2VydmVyKQogICAgICh3aXRoLWN1cnJl bnQtYnVmZmVyIChubmltYXAtYnVmZmVyKQotICAgICAgKGNhciAobm5pbWFw LWNvbW1hbmQgIkRFTEVURSAlUyIgKHV0ZjctZW5jb2RlIGdyb3VwIHQpKSkp KSkKKyAgICAgIChjYXIgKG5uaW1hcC1jb21tYW5kICJERUxFVEUgJVMiIChu bmltYXAtZ3JvdXAtdG8taW1hcCBncm91cCkpKSkpKQogCiAoZGVmZm9vIG5u aW1hcC1yZXF1ZXN0LXJlbmFtZS1ncm91cCAoZ3JvdXAgbmV3LW5hbWUgJm9w dGlvbmFsIHNlcnZlcikKICAgKHNldHEgZ3JvdXAgKG5uaW1hcC1kZWNvZGUt Z251cy1ncm91cCBncm91cCkpCkBAIC04ODEsNyArODg1LDcgQEAgbm5pbWFw LXJlcXVlc3QtcmVuYW1lLWdyb3VwCiAgICAgKHdpdGgtY3VycmVudC1idWZm ZXIgKG5uaW1hcC1idWZmZXIpCiAgICAgICAobm5pbWFwLXVuc2VsZWN0LWdy b3VwKQogICAgICAgKGNhciAobm5pbWFwLWNvbW1hbmQgIlJFTkFNRSAlUyAl UyIKLQkJCSAgICh1dGY3LWVuY29kZSBncm91cCB0KSAodXRmNy1lbmNvZGUg bmV3LW5hbWUgdCkpKSkpKQorCQkJICAgKG5uaW1hcC1ncm91cC10by1pbWFw IGdyb3VwKSAobm5pbWFwLWdyb3VwLXRvLWltYXAgbmV3LW5hbWUpKSkpKSkK IAogKGRlZnVuIG5uaW1hcC11bnNlbGVjdC1ncm91cCAoKQogICA7OyBNYWtl IHN1cmUgd2UgZG9uJ3QgaGF2ZSB0aGlzIGdyb3VwIG9wZW4gcmVhZC93cml0 ZSBieSBhc2tpbmcKQEAgLTk0MSw3ICs5NDUsNyBAQCBubmltYXAtcmVxdWVz dC1tb3ZlLWFydGljbGUKIAkJCQkiVUlEIENPUFkgJWQgJVMiKSkKIAkJICAg ICAocmVzdWx0IChubmltYXAtY29tbWFuZAogCQkJICAgICAgY29tbWFuZCBh cnRpY2xlCi0JCQkgICAgICAodXRmNy1lbmNvZGUgaW50ZXJuYWwtbW92ZS1n cm91cCB0KSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5u aW1hcC1ncm91cC10by1pbWFwIGludGVybmFsLW1vdmUtZ3JvdXApKSkpCiAg ICAgICAgICAgICAgICAgKHdoZW4gKGFuZCAoY2FyIHJlc3VsdCkgKG5vdCBj YW4tbW92ZSkpCiAgICAgICAgICAgICAgICAgICAobm5pbWFwLWRlbGV0ZS1h cnRpY2xlIGFydGljbGUpKQogICAgICAgICAgICAgICAgIChjb25zIGludGVy bmFsLW1vdmUtZ3JvdXAKQEAgLTEwMDgsNyArMTAxMiw3IEBAIG5uaW1hcC1w cm9jZXNzLWV4cGlyeS10YXJnZXRzCiAgICAgICAgICAgICAgICAgICAgICJV SUQgTU9WRSAlcyAlUyIKICAgICAgICAgICAgICAgICAgICJVSUQgQ09QWSAl cyAlUyIpCiAgICAgICAgICAgICAgICAgKG5uaW1hcC1hcnRpY2xlLXJhbmdl cyAoZ251cy1jb21wcmVzcy1zZXF1ZW5jZSBhcnRpY2xlcykpCi0gICAgICAg ICAgICAgICAgKHV0ZjctZW5jb2RlIChnbnVzLWdyb3VwLXJlYWwtbmFtZSBu bm1haWwtZXhwaXJ5LXRhcmdldCkgdCkpCisgICAgICAgICAgICAgICAgKG5u aW1hcC1ncm91cC10by1pbWFwIChnbnVzLWdyb3VwLXJlYWwtbmFtZSBubm1h aWwtZXhwaXJ5LXRhcmdldCkpKQogICAgICAgICAgICAgICAgKHNldCAoaWYg Y2FuLW1vdmUgJ2RlbGV0ZWQtYXJ0aWNsZXMgJ2FydGljbGVzLXRvLWRlbGV0 ZSkgYXJ0aWNsZXMpKSkpCiAgICAgICB0KQogICAgICAodApAQCAtMTEzMyw3 ICsxMTM3LDcgQEAgbm5pbWFwLXJlcXVlc3QtdXBkYXRlLWdyb3VwLXN0YXR1 cwogCQkgICAgICAodW5zdWJzY3JpYmUgIlVOU1VCU0NSSUJFIikpKSkpCiAg ICAgICAod2hlbiBjb21tYW5kCiAJKHdpdGgtY3VycmVudC1idWZmZXIgKG5u aW1hcC1idWZmZXIpCi0JICAobm5pbWFwLWNvbW1hbmQgIiVzICVTIiAoY2Fk ciBjb21tYW5kKSAodXRmNy1lbmNvZGUgZ3JvdXAgdCkpKSkpKSkKKwkgIChu bmltYXAtY29tbWFuZCAiJXMgJVMiIChjYWRyIGNvbW1hbmQpIChubmltYXAt Z3JvdXAtdG8taW1hcCBncm91cCkpKSkpKSkKIAogKGRlZmZvbyBubmltYXAt cmVxdWVzdC1zZXQtbWFyayAoZ3JvdXAgYWN0aW9ucyAmb3B0aW9uYWwgc2Vy dmVyKQogICAoc2V0cSBncm91cCAobm5pbWFwLWRlY29kZS1nbnVzLWdyb3Vw IGdyb3VwKSkKQEAgLTExODgsNyArMTE5Miw3IEBAIG5uaW1hcC1yZXF1ZXN0 LWFjY2VwdC1hcnRpY2xlCiAJICAgIChubmltYXAtdW5zZWxlY3QtZ3JvdXAp KQogCSAgKGVyYXNlLWJ1ZmZlcikKIAkgIChzZXRxIHNlcXVlbmNlIChubmlt YXAtc2VuZC1jb21tYW5kCi0JCQkgICJBUFBFTkQgJVMgeyVkfSIgKHV0Zjct ZW5jb2RlIGdyb3VwIHQpCisJCQkgICJBUFBFTkQgJVMgeyVkfSIgKG5uaW1h cC1ncm91cC10by1pbWFwIGdyb3VwKQogCQkJICAobGVuZ3RoIG1lc3NhZ2Up KSkKIAkgICh1bmxlc3Mgbm5pbWFwLXN0cmVhbWluZwogCSAgICAobm5pbWFw LXdhaXQtZm9yLWNvbm5lY3Rpb24gIl5bK10iKSkKQEAgLTEzMTYsNyArMTMy MCw3IEBAIG5uaW1hcC1yZXF1ZXN0LWxpc3QKIAkgICAgKGRvbGlzdCAoZ3Jv dXAgZ3JvdXBzKQogCSAgICAgIChzZXRmIChubmltYXAtZXhhbWluZWQgbm5p bWFwLW9iamVjdCkgZ3JvdXApCiAJICAgICAgKHB1c2ggKGxpc3QgKG5uaW1h cC1zZW5kLWNvbW1hbmQgIkVYQU1JTkUgJVMiCi0JCQkJCSAgICAgICAodXRm Ny1lbmNvZGUgZ3JvdXAgdCkpCisJCQkJCSAgICAgICAobm5pbWFwLWdyb3Vw LXRvLWltYXAgZ3JvdXApKQogCQkJICBncm91cCkKIAkJICAgIHNlcXVlbmNl cykpCiAJICAgIChubmltYXAtd2FpdC1mb3ItcmVzcG9uc2UgKGNhYXIgc2Vx dWVuY2VzKSkKQEAgLTEzODgsNyArMTM5Miw3IEBAIG5uaW1hcC1yZXRyaWV2 ZS1ncm91cC1kYXRhLWVhcmx5CiAJCSAgIHVuZXhpc3QpCiAJICAgICAgKHB1 c2gKIAkgICAgICAgKGxpc3QgKG5uaW1hcC1zZW5kLWNvbW1hbmQgIkVYQU1J TkUgJVMgKCVzICglcyAlcykpIgotCQkJCQkgICh1dGY3LWVuY29kZSBncm91 cCB0KQorCQkJCQkgIChubmltYXAtZ3JvdXAtdG8taW1hcCBncm91cCkKIAkJ CQkJICAobm5pbWFwLXF1aXJrICJRUkVTWU5DIikKIAkJCQkJICB1aWR2YWxp ZGl0eSBtb2RzZXEpCiAJCSAgICAgJ3FyZXN5bmMKQEAgLTE0MTAsNyArMTQx NCw3IEBAIG5uaW1hcC1yZXRyaWV2ZS1ncm91cC1kYXRhLWVhcmx5CiAJCShp bmNmIChubmltYXAtaW5pdGlhbC1yZXN5bmMgbm5pbWFwLW9iamVjdCkpCiAJ CShzZXRxIHN0YXJ0IDEpKQogCSAgICAgIChwdXNoIChsaXN0IChubmltYXAt c2VuZC1jb21tYW5kICIlcyAlUyIgY29tbWFuZAotCQkJCQkgICAgICAgKHV0 ZjctZW5jb2RlIGdyb3VwIHQpKQorCQkJCQkgICAgICAgKG5uaW1hcC1ncm91 cC10by1pbWFwIGdyb3VwKSkKIAkJCSAgKG5uaW1hcC1zZW5kLWNvbW1hbmQg IlVJRCBGRVRDSCAlZDoqIEZMQUdTIiBzdGFydCkKIAkJCSAgc3RhcnQgZ3Jv dXAgY29tbWFuZCkKIAkJICAgIHNlcXVlbmNlcykpKSkKQEAgLTE4NDIsNyAr MTg0Niw3IEBAIG5uaW1hcC1jaGFuZ2UtZ3JvdXAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGlmIHJlYWQtb25seQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVYQU1JTkUi CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNF TEVDVCIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICh1dGY3LWVuY29kZSBncm91cCB0KSkpKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAobm5pbWFwLWdyb3VwLXRvLWltYXAgZ3Jv dXApKSkpCiAgICAgICAgICAgKHdoZW4gKGNhciByZXN1bHQpCiAgICAgICAg ICAgICAoc2V0ZiAobm5pbWFwLWdyb3VwIG5uaW1hcC1vYmplY3QpIGdyb3Vw CiAgICAgICAgICAgICAgICAgICAobm5pbWFwLXNlbGVjdC1yZXN1bHQgbm5p bWFwLW9iamVjdCkgcmVzdWx0KQpAQCAtMjA5OCw3ICsyMTAyLDcgQEAgbm5p bWFwLXNwbGl0LWluY29taW5nLW1haWwKIAkgICAgKGRvbGlzdCAoc3BlYyBz cGVjcykKIAkgICAgICAod2hlbiAoYW5kIChub3QgKG1lbWJlciAoY2FyIHNw ZWMpIGdyb3VwcykpCiAJCQkgKG5vdCAoZXEgKGNhciBzcGVjKSAnanVuaykp KQotCQkobm5pbWFwLWNvbW1hbmQgIkNSRUFURSAlUyIgKHV0ZjctZW5jb2Rl IChjYXIgc3BlYykgdCkpKSkKKwkJKG5uaW1hcC1jb21tYW5kICJDUkVBVEUg JVMiIChubmltYXAtZ3JvdXAtdG8taW1hcCAoY2FyIHNwZWMpKSkpKQogCSAg ICA7OyBUaGVuIGNvcHkgb3ZlciBhbGwgdGhlIG1lc3NhZ2VzLgogCSAgICAo ZXJhc2UtYnVmZmVyKQogCSAgICAoZG9saXN0IChzcGVjIHNwZWNzKQpAQCAt MjExNCw3ICsyMTE4LDcgQEAgbm5pbWFwLXNwbGl0LWluY29taW5nLW1haWwK IAkJCQkgICAgICJVSUQgTU9WRSAlcyAlUyIKIAkJCQkgICAiVUlEIENPUFkg JXMgJVMiKQogCQkJCSAobm5pbWFwLWFydGljbGUtcmFuZ2VzIHJhbmdlcykK LQkJCQkgKHV0ZjctZW5jb2RlIGdyb3VwIHQpKQorCQkJCShubmltYXAtZ3Jv dXAtdG8taW1hcCBncm91cCkpCiAJCQkJcmFuZ2VzKQogCQkJICBzZXF1ZW5j ZXMpKSkpKQogCSAgICA7OyBXYWl0IGZvciB0aGUgbGFzdCBDT1BZIHJlc3Bv bnNlLi4uCi0tIAoyLjExLjAKCg== --_----------=_152776671236340384 Content-Disposition: attachment; filename="0002-nnimap.el-Add-support-for-IMAP-namespaces.patch" Content-Id: <1527766695.3634033.b208b919c0d49641e5b7529dce0e04f2ea884456.7FA8F9DD@content.messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0002-nnimap.el-Add-support-for-IMAP-namespaces.patch" RnJvbSBmNTA3OWExMWMyMDk0NDAyNzQ2NWVhMjEyOTFhOGZjOWU3YWQzYmUx IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGF1cyBSYXRo IDxOaWtvbGF1c0ByYXRoLm9yZz4KRGF0ZTogVHVlLCAxNCBKdWwgMjAxNSAx OTowMzowOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBubmltYXAuZWw6 IEFkZCBzdXBwb3J0IGZvciBJTUFQIG5hbWVzcGFjZXMuCgoqIGxpc3AvZ251 cy9ubmltYXAuZWwgKG5uaW1hcC11c2UtbmFtZXNwYWNlcyk6IGludHJvZHVj ZWQgbmV3IHNlcnZlciB2YXJpYWJsZS4KKG5uaW1hcC1ncm91cC10by1pbWFw LCBubmltYXAtZ2V0LWdyb3Vwcyk6IHRyYW5zZm9ybSBJTUFQIGdyb3VwIG5h bWVzCnRvIEdudXMgZ3JvdXAgbmFtZSBieSBzdHJpcHBpbmcgLyBwcmVmaXhp bmcgcGVyc29uYWwgbmFtZXNwYWNlIHByZWZpeC4KKG5uaW1hcC1vcGVuLWNv bm5lY3Rpb24tMSk6IGFzayBzZXJ2ZXIgZm9yIG5hbWVzcGFjZXMgYW5kIHN0 b3JlIHRoZW0uCi0tLQogZG9jL21pc2MvZ251cy50ZXhpICB8ICA2ICsrKysr CiBldGMvTkVXUyAgICAgICAgICAgIHwgIDUgKysrKwogbGlzcC9nbnVzL25u aW1hcC5lbCB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDY0IGlu c2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Rv Yy9taXNjL2dudXMudGV4aSBiL2RvYy9taXNjL2dudXMudGV4aQppbmRleCA4 OGUxMjEuLjRiMzNlIDEwMDY0NAotLS0gYS9kb2MvbWlzYy9nbnVzLnRleGkK KysrIGIvZG9jL21pc2MvZ251cy50ZXhpCkBAIC0xNDMwMSw2ICsxNDMwMSwx MiBAQCBDdXN0b21pemluZyB0aGUgSU1BUCBDb25uZWN0aW9uCiBJZiBub24t QGNvZGV7bmlsfSwgcmVjb3JkIGFsbCBAYWNyb255bXtJTUFQfSBjb21tYW5k cyBpbiB0aGUKIEBzYW1weyIqaW1hcCBsb2cqIn0gYnVmZmVyLgogCitAaXRl bSBubmltYXAtdXNlLW5hbWVzcGFjZXMKK0lmIG5vbi1AY29kZXtuaWx9LCBv bWl0IHRoZSBJTUFQIG5hbWVzcGFjZSBwcmVmaXggaW4gbm5pbWFwIGdyb3Vw CituYW1lcy4gSWYgeW91ciBJTUFQIG1haWxib3hlcyBhcmUgY2FsbGVkIHNv bWV0aGluZyBsaWtlIEBzYW1we0lOQk9YfQorYW5kIEBzYW1we0lOQk9YLkxp c3RzLmVtYWNzfSwgYnV0IHlvdSdkIGxpa2UgdGhlIG5uaW1hcCBncm91cCBu YW1lcyB0bworYmUgQHNhbXB7SU5CT1h9IGFuZCBAc2FtcHtMaXN0cy5lbWFj c30sIHlvdSBzaG91bGQgZW5hYmxlIHRoaXMgb3B0aW9uLgorCiBAZW5kIHRh YmxlCiAKIApkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRl eCAzNzFjZC4uMWY5MDVkIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9l dGMvTkVXUwpAQCAtMzcsNiArMzcsMTEgQEAgV2hlbiB5b3UgYWRkIGEgbmV3 IGl0ZW0sIHVzZSB0aGUgYXBwcm9wcmlhdGUgbWFyayBpZiB5b3UgYXJlIHN1 cmUgaXQgYXBwbGllcywKIAwKICogQ2hhbmdlcyBpbiBTcGVjaWFsaXplZCBN b2RlcyBhbmQgUGFja2FnZXMgaW4gRW1hY3MgMjcuMQogCisqKiBHbnVzCisK KysrKworKioqIFRoZSBubmltYXAgYmFja2VuZCBub3cgaGFzIHN1cHBvcnQg Zm9yIElNQVAgbmFtZXNwYWNlcy4KKwogDAogKiBOZXcgTW9kZXMgYW5kIFBh Y2thZ2VzIGluIEVtYWNzIDI3LjEKIApkaWZmIC0tZ2l0IGEvbGlzcC9nbnVz L25uaW1hcC5lbCBiL2xpc3AvZ251cy9ubmltYXAuZWwKaW5kZXggYTY0NmY0 Li43YWQ1NGEgMTAwNjQ0Ci0tLSBhL2xpc3AvZ251cy9ubmltYXAuZWwKKysr IGIvbGlzcC9nbnVzL25uaW1hcC5lbApAQCAtNTUsNiArNTUsMTMgQEAgbm5p bWFwLXNlcnZlci1wb3J0CiBJZiBubmltYXAtc3RyZWFtIGlzIGBzc2wnLCB0 aGlzIHdpbGwgZGVmYXVsdCB0byBgaW1hcHMnLiAgSWYgbm90LAogaXQgd2ls bCBkZWZhdWx0IHRvIGBpbWFwJy4iKQogCisoZGVmdm9vIG5uaW1hcC11c2Ut bmFtZXNwYWNlcyBuaWwKKyAgIldoZXRoZXIgdG8gdXNlIElNQVAgbmFtZXNw YWNlcy4KK0lmIGluIEdudXMgeW91ciBmb2xkZXIgbmFtZXMgaW4gYWxsIHN0 YXJ0IHdpdGggKGUuZy4pIGBJTkJPWCcsCit5b3UgcHJvYmFibHkgd2FudCB0 byBzZXQgdGhpcyB0byB0LiBUaGUgZWZmZWN0cyBvZiB0aGlzIGFyZQorcHVy ZWx5IGNvc21ldGljYWwsIGJ1dCBjaGFuZ2luZyB0aGlzIHZhcmlhYmxlIHdp bGwgYWZmZWN0IHRoZQorbmFtZXMgb2YgeW91ciBubmltYXAgZ3JvdXBzLiAi KQorCiAoZGVmdm9vIG5uaW1hcC1zdHJlYW0gJ3VuZGVjaWRlZAogICAiSG93 IG5uaW1hcCB0YWxrcyB0byB0aGUgSU1BUCBzZXJ2ZXIuCiBUaGUgdmFsdWUg c2hvdWxkIGJlIGVpdGhlciBgdW5kZWNpZGVkJywgYHNzbCcgb3IgYHRscycs CkBAIC0xMTYsNiArMTIzLDggQEAgbm5pbWFwLWRlY29kZS1nbnVzLWdyb3Vw CiAoZGVmdW4gbm5pbWFwLWVuY29kZS1nbnVzLWdyb3VwIChncm91cCkKICAg KGVuY29kZS1jb2Rpbmctc3RyaW5nIGdyb3VwICd1dGYtOCkpCiAKKyhzZXRx IG5uaW1hcC1uYW1lc3BhY2VzIG5pbCkKKwogKGRlZnZvbyBubmltYXAtZmV0 Y2gtcGFydGlhbC1hcnRpY2xlcyBuaWwKICAgIklmIG5vbi1uaWwsIEdudXMg d2lsbCBmZXRjaCBwYXJ0aWFsIGFydGljbGVzLgogSWYgdCwgR251cyB3aWxs IGZldGNoIG9ubHkgdGhlIGZpcnN0IHBhcnQuICBJZiBhIHN0cmluZywgaXQK QEAgLTE2OCw3ICsxNzcsMTcgQEAgbm5pbWFwLWluaGliaXQtbG9nZ2luZwog CiAoZGVmdW4gbm5pbWFwLWdyb3VwLXRvLWltYXAgKGdyb3VwKQogICAiQ29u dmVydCBHbnVzIGdyb3VwIG5hbWUgdG8gSU1BUCBtYWlsYm94IG5hbWUuIgot ICAodXRmNy1lbmNvZGUgZ3JvdXAgdCkpCisgIChsZXQqICgocHJlZml4IChj YWRyIChhc3NvYyAobm5vby1jdXJyZW50LXNlcnZlciAnbm5pbWFwKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbm5pbWFwLW5hbWVzcGFjZXMp KSkKKyAgICAgICAgIChpbmJveCAoc3Vic3RyaW5nIHByZWZpeCAwIC0xKSkp CisgICAgKHV0ZjctZW5jb2RlCisgICAgIChjb25kICgob3IgKG5vdCBwcmVm aXgpCisgICAgICAgICAgICAgICAgKHN0cmluZy1lcXVhbCBncm91cCBpbmJv eCkpCisgICAgICAgICAgICBncm91cCkKKyAgICAgICAgICAgKChzdHJpbmct cHJlZml4LXAgIiMiIGdyb3VwKQorICAgICAgICAgICAgKHN1YnN0cmluZyBn cm91cCAxKSkKKyAgICAgICAgICAgKHQKKyAgICAgICAgICAgIChjb25jYXQg cHJlZml4IGdyb3VwKSkpIHQpKSkKIAogKGRlZnVuIG5uaW1hcC1idWZmZXIg KCkKICAgKG5uaW1hcC1maW5kLXByb2Nlc3MtYnVmZmVyIG5udHAtc2VydmVy LWJ1ZmZlcikpCkBAIC00NDUsNyArNDY0LDggQEAgbm5pbWFwLW9wZW4tY29u bmVjdGlvbi0xCiAJICAgICAocHJvcHMgKGNkciBzdHJlYW0tbGlzdCkpCiAJ ICAgICAoZ3JlZXRpbmcgKHBsaXN0LWdldCBwcm9wcyA6Z3JlZXRpbmcpKQog CSAgICAgKGNhcGFiaWxpdGllcyAocGxpc3QtZ2V0IHByb3BzIDpjYXBhYmls aXRpZXMpKQotCSAgICAgKHN0cmVhbS10eXBlIChwbGlzdC1nZXQgcHJvcHMg OnR5cGUpKSkKKwkgICAgIChzdHJlYW0tdHlwZSAocGxpc3QtZ2V0IHByb3Bz IDp0eXBlKSkKKyAgICAgICAgICAgICAoc2VydmVyIChubm9vLWN1cnJlbnQt c2VydmVyICdubmltYXApKSkKIAkod2hlbiAoYW5kIHN0cmVhbSAobm90ICht ZW1xIChwcm9jZXNzLXN0YXR1cyBzdHJlYW0pICcob3BlbiBydW4pKSkpCiAJ ICAoc2V0cSBzdHJlYW0gbmlsKSkKIApAQCAtNDc4LDkgKzQ5OCw3IEBAIG5u aW1hcC1vcGVuLWNvbm5lY3Rpb24tMQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDs7IHRoZSB2aXJ0dWFsIHNlcnZlciBuYW1lIGFuZCB0aGUg YWRkcmVzcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChubmlt YXAtY3JlZGVudGlhbHMKIAkJCQkoZ251cy1kZWxldGUtZHVwbGljYXRlcwot CQkJCSAobGlzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChubm9vLWN1cnJlbnQtc2VydmVyICdubmltYXApCi0JCQkJICBubmltYXAt YWRkcmVzcykpCisJCQkJIChsaXN0IHNlcnZlciBubmltYXAtYWRkcmVzcykp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRzCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5uaW1hcC11c2VyKSkpKQog CQkgIChzZXRxIG5uaW1hcC1vYmplY3QgbmlsKQpAQCAtNDk5LDcgKzUxNywy MSBAQCBubmltYXAtb3Blbi1jb25uZWN0aW9uLTEKIAkJICAgICAgKGRvbGlz dCAocmVzcG9uc2UgKGNkZHIgKG5uaW1hcC1jb21tYW5kICJDQVBBQklMSVRZ IikpKQogCQkJKHdoZW4gKHN0cmluZz0gIkNBUEFCSUxJVFkiICh1cGNhc2Ug KGNhciByZXNwb25zZSkpKQogCQkJICAoc2V0ZiAobm5pbWFwLWNhcGFiaWxp dGllcyBubmltYXAtb2JqZWN0KQotCQkJCShtYXBjYXIgIyd1cGNhc2UgKGNk ciByZXNwb25zZSkpKSkpKQorCQkJCShtYXBjYXIgIyd1cGNhc2UgKGNkciBy ZXNwb25zZSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKGFu ZCBubmltYXAtdXNlLW5hbWVzcGFjZXMKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChubmltYXAtY2FwYWJpbGl0eSAiTkFNRVNQQUNFIikp CisgICAgICAgICAgICAgICAgICAgICAgICAoZXJhc2UtYnVmZmVyKQorICAg ICAgICAgICAgICAgICAgICAgICAgKG5uaW1hcC13YWl0LWZvci1yZXNwb25z ZSAobm5pbWFwLXNlbmQtY29tbWFuZCAiTkFNRVNQQUNFIikpCisgICAgICAg ICAgICAgICAgICAgICAgICAobGV0ICgocmVzcG9uc2UgKG5uaW1hcC1sYXN0 LXJlc3BvbnNlLXN0cmluZykpKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAod2hlbiAoc3RyaW5nLW1hdGNoCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiXlxcKlxcVytOQU1FU1BBQ0VcXFcrKChcIlxcKFteXCJc bl0rXFwpXCJcXFcrXCJcXCguXFwpXCIpKVxcVysiCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXNwb25zZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAobGV0ICgobmFtZXNwYWNlIChjb25zIChtYXRjaC1z dHJpbmcgMSByZXNwb25zZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaC1zdHJpbmcgMiByZXNw b25zZSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChl bnRyeSAoYXNzb2Mgc2VydmVyIG5uaW1hcC1uYW1lc3BhY2VzKSkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgZW50cnkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0Y2RyIGVudHJ5IG5hbWVz cGFjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2gg KGNvbnMgc2VydmVyIG5hbWVzcGFjZSkgbm5pbWFwLW5hbWVzcGFjZXMpKSkp KSkpCiAJCSAgOzsgSWYgdGhlIGxvZ2luIGZhaWxlZCwgdGhlbiBmb3JnZXQg dGhlIGNyZWRlbnRpYWxzCiAJCSAgOzsgdGhhdCBhcmUgbm93IHBvc3NpYmx5 IGNhY2hlZC4KIAkJICAoZG9saXN0IChob3N0IChsaXN0IChubm9vLWN1cnJl bnQtc2VydmVyICdubmltYXApCkBAIC0xMjcyLDggKzEzMDQsMTIgQEAgbm5p bWFwLWFkZC1jcgogCiAoZGVmdW4gbm5pbWFwLWdldC1ncm91cHMgKCkKICAg KGVyYXNlLWJ1ZmZlcikKLSAgKGxldCAoKHNlcXVlbmNlIChubmltYXAtc2Vu ZC1jb21tYW5kICJMSVNUIFwiXCIgXCIqXCIiKSkKLQlncm91cHMpCisgIChs ZXQqICgoc2VxdWVuY2UgKG5uaW1hcC1zZW5kLWNvbW1hbmQgIkxJU1QgXCJc IiBcIipcIiIpKQorICAgICAgICAgKHByZWZpeCAoY2FkciAoYXNzb2MgKG5u b28tY3VycmVudC1zZXJ2ZXIgJ25uaW1hcCkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG5uaW1hcC1uYW1lc3BhY2VzKSkpCisgICAgICAgICAo cHJlZml4LWxlbiAobGVuZ3RoIHByZWZpeCkpCisgICAgICAgICAoaW5ib3gg KHN1YnN0cmluZyBwcmVmaXggMCAtMSkpCisgICAgICAgICBncm91cHMpCiAg ICAgKG5uaW1hcC13YWl0LWZvci1yZXNwb25zZSBzZXF1ZW5jZSkKICAgICAo c3Vic3QtY2hhci1pbi1yZWdpb24gKHBvaW50LW1pbikgKHBvaW50LW1heCkK IAkJCSAgP1xcID8lIHQpCkBAIC0xMjkwLDExICsxMzI2LDE1IEBAIG5uaW1h cC1nZXQtZ3JvdXBzCiAJCQkgICAoc2tpcC1jaGFycy1iYWNrd2FyZCAiIFxy XCIiKQogCQkJICAgKHBvaW50KSkpKSkKIAkodW5sZXNzIChtZW1iZXIgJyVO b1NlbGVjdCBmbGFncykKLQkgIChwdXNoICh1dGY3LWRlY29kZSAoaWYgKHN0 cmluZ3AgZ3JvdXApCi0JCQkJIGdyb3VwCi0JCQkgICAgICAgKGZvcm1hdCAi JXMiIGdyb3VwKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCkK LQkJZ3JvdXBzKSkpKQorICAgICAgICAgIChsZXQqICgoZ3JvdXAgKHV0Zjct ZGVjb2RlIChpZiAoc3RyaW5ncCBncm91cCkgZ3JvdXAKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQgIiVzIiBncm91 cCkpIHQpKQorICAgICAgICAgICAgICAgICAoZ3JvdXAgKGNvbmQgKChlcXVh bCBpbmJveCBncm91cCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBncm91cCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoc3Ry aW5nLXByZWZpeC1wIHByZWZpeCBncm91cCkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc3Vic3RyaW5nIGdyb3VwIHByZWZpeC1sZW4pKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoY29uY2F0ICIjIiBncm91cCkpKSkpCisg ICAgICAgICAgICAocHVzaCBncm91cCBncm91cHMpKSkpKQogICAgIChucmV2 ZXJzZSBncm91cHMpKSkKIAogKGRlZnVuIG5uaW1hcC1nZXQtcmVzcG9uc2Vz IChzZXF1ZW5jZXMpCi0tIAoyLjExLjAKCg== --_----------=_152776671236340384 Content-Disposition: attachment; filename="0003-Turn-nnimap-namespaces-into-a-defvoo-to-make-it-per-.patch" Content-Id: <1527766696.3634100.e0583b4f4db457a1b1334b9b044e7418f42d9a1a.291D6FBE@content.messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0003-Turn-nnimap-namespaces-into-a-defvoo-to-make-it-per-.patch" RnJvbSA0MGZhNmZmMDA1MjgxOGZkNzc4ZjRmODhlYjQ2MjEzZWU5NjI5NzMy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOaWtvbGF1cyBSYXRo IDxOaWtvbGF1c0ByYXRoLm9yZz4KRGF0ZTogVGh1LCAzMSBNYXkgMjAxOCAx MjoxMzoyOCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBUdXJuIG5uaW1h cC1uYW1lc3BhY2VzIGludG8gYSBkZWZ2b28gdG8gbWFrZSBpdAogcGVyLXNl cnZlci4KCi0tLQogbGlzcC9nbnVzL25uaW1hcC5lbCB8IDI0ICsrKysrKysr LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9u cygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9nbnVz L25uaW1hcC5lbCBiL2xpc3AvZ251cy9ubmltYXAuZWwKaW5kZXggN2FkNTRh Li4zYzk1ZjEgMTAwNjQ0Ci0tLSBhL2xpc3AvZ251cy9ubmltYXAuZWwKKysr IGIvbGlzcC9nbnVzL25uaW1hcC5lbApAQCAtMTE3LDE0ICsxMTcsMTQgQEAg bm5pbWFwLWNvbm5lY3Rpb24tYWxpc3QKIAogKGRlZnZvbyBubmltYXAtY3Vy cmVudC1pbmZvcyBuaWwpCiAKKyhkZWZ2b28gbm5pbWFwLW5hbWVzcGFjZSBu aWwpCisKIChkZWZ1biBubmltYXAtZGVjb2RlLWdudXMtZ3JvdXAgKGdyb3Vw KQogICAoZGVjb2RlLWNvZGluZy1zdHJpbmcgZ3JvdXAgJ3V0Zi04KSkKIAog KGRlZnVuIG5uaW1hcC1lbmNvZGUtZ251cy1ncm91cCAoZ3JvdXApCiAgIChl bmNvZGUtY29kaW5nLXN0cmluZyBncm91cCAndXRmLTgpKQogCi0oc2V0cSBu bmltYXAtbmFtZXNwYWNlcyBuaWwpCi0KIChkZWZ2b28gbm5pbWFwLWZldGNo LXBhcnRpYWwtYXJ0aWNsZXMgbmlsCiAgICJJZiBub24tbmlsLCBHbnVzIHdp bGwgZmV0Y2ggcGFydGlhbCBhcnRpY2xlcy4KIElmIHQsIEdudXMgd2lsbCBm ZXRjaCBvbmx5IHRoZSBmaXJzdCBwYXJ0LiAgSWYgYSBzdHJpbmcsIGl0CkBA IC0xNzcsMTcgKzE3NywxNSBAQCBubmltYXAtaW5oaWJpdC1sb2dnaW5nCiAK IChkZWZ1biBubmltYXAtZ3JvdXAtdG8taW1hcCAoZ3JvdXApCiAgICJDb252 ZXJ0IEdudXMgZ3JvdXAgbmFtZSB0byBJTUFQIG1haWxib3ggbmFtZS4iCi0g IChsZXQqICgocHJlZml4IChjYWRyIChhc3NvYyAobm5vby1jdXJyZW50LXNl cnZlciAnbm5pbWFwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bm5pbWFwLW5hbWVzcGFjZXMpKSkKLSAgICAgICAgIChpbmJveCAoc3Vic3Ry aW5nIHByZWZpeCAwIC0xKSkpCisgIChsZXQqICgoaW5ib3ggKHN1YnN0cmlu ZyBubmltYXAtbmFtZXNwYWNlIDAgLTEpKSkKICAgICAodXRmNy1lbmNvZGUK LSAgICAgKGNvbmQgKChvciAobm90IHByZWZpeCkKKyAgICAgKGNvbmQgKChv ciAobm90IG5uaW1hcC1uYW1lc3BhY2UpCiAgICAgICAgICAgICAgICAgKHN0 cmluZy1lcXVhbCBncm91cCBpbmJveCkpCiAgICAgICAgICAgICBncm91cCkK ICAgICAgICAgICAgKChzdHJpbmctcHJlZml4LXAgIiMiIGdyb3VwKQogICAg ICAgICAgICAgKHN1YnN0cmluZyBncm91cCAxKSkKICAgICAgICAgICAgKHQK LSAgICAgICAgICAgIChjb25jYXQgcHJlZml4IGdyb3VwKSkpIHQpKSkKKyAg ICAgICAgICAgIChjb25jYXQgbm5pbWFwLW5hbWVzcGFjZSBncm91cCkpKSB0 KSkpCiAKIChkZWZ1biBubmltYXAtYnVmZmVyICgpCiAgIChubmltYXAtZmlu ZC1wcm9jZXNzLWJ1ZmZlciBubnRwLXNlcnZlci1idWZmZXIpKQpAQCAtNTI2 LDEzICs1MjQsOCBAQCBubmltYXAtb3Blbi1jb25uZWN0aW9uLTEKICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKHN0cmluZy1tYXRjaAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl5cXCpcXFcrTkFNRVNQ QUNFXFxXKygoXCJcXChbXlwiXG5dK1xcKVwiXFxXK1wiXFwoLlxcKVwiKSlc XFcrIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9u c2UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKG5hbWVz cGFjZSAoY29ucyAobWF0Y2gtc3RyaW5nIDEgcmVzcG9uc2UpCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo bWF0Y2gtc3RyaW5nIDIgcmVzcG9uc2UpKSkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoZW50cnkgKGFzc29jIHNlcnZlciBubmltYXAt bmFtZXNwYWNlcykpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGlmIGVudHJ5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHNldGNkciBlbnRyeSBuYW1lc3BhY2UpCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChwdXNoIChjb25zIHNlcnZlciBuYW1lc3BhY2UpIG5u aW1hcC1uYW1lc3BhY2VzKSkpKSkpKQotCQkgIDs7IElmIHRoZSBsb2dpbiBm YWlsZWQsIHRoZW4gZm9yZ2V0IHRoZSBjcmVkZW50aWFscworICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzZXRxIG5uaW1hcC1uYW1lc3BhY2UgKG1h dGNoLXN0cmluZyAxIHJlc3BvbnNlKSkpKSkpCisgICAgICAgICAgICAgICAg ICA7OyBJZiB0aGUgbG9naW4gZmFpbGVkLCB0aGVuIGZvcmdldCB0aGUgY3Jl ZGVudGlhbHMKIAkJICA7OyB0aGF0IGFyZSBub3cgcG9zc2libHkgY2FjaGVk LgogCQkgIChkb2xpc3QgKGhvc3QgKGxpc3QgKG5ub28tY3VycmVudC1zZXJ2 ZXIgJ25uaW1hcCkKIAkJCQkgICAgICBubmltYXAtYWRkcmVzcykpCkBAIC0x MzA1LDggKzEyOTgsNyBAQCBubmltYXAtYWRkLWNyCiAoZGVmdW4gbm5pbWFw LWdldC1ncm91cHMgKCkKICAgKGVyYXNlLWJ1ZmZlcikKICAgKGxldCogKChz ZXF1ZW5jZSAobm5pbWFwLXNlbmQtY29tbWFuZCAiTElTVCBcIlwiIFwiKlwi IikpCi0gICAgICAgICAocHJlZml4IChjYWRyIChhc3NvYyAobm5vby1jdXJy ZW50LXNlcnZlciAnbm5pbWFwKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbm5pbWFwLW5hbWVzcGFjZXMpKSkKKyAgICAgICAgIChwcmVmaXgg bm5pbWFwLW5hbWVzcGFjZSkKICAgICAgICAgIChwcmVmaXgtbGVuIChsZW5n dGggcHJlZml4KSkKICAgICAgICAgIChpbmJveCAoc3Vic3RyaW5nIHByZWZp eCAwIC0xKSkKICAgICAgICAgIGdyb3VwcykKLS0gCjIuMTEuMAoK --_----------=_152776671236340384-- From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 03 03:41:02 2018 Received: (at 21057) by debbugs.gnu.org; 3 Jul 2018 07:41:02 +0000 Received: from localhost ([127.0.0.1]:44371 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1faFvq-00048F-Hz for submit@debbugs.gnu.org; Tue, 03 Jul 2018 03:41:02 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:60847) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1faFvo-00047h-SU for 21057@debbugs.gnu.org; Tue, 03 Jul 2018 03:41:01 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 707E021B2C; Tue, 3 Jul 2018 03:41:00 -0400 (EDT) Received: from web2 ([10.202.2.212]) by compute1.internal (MEProxy); Tue, 03 Jul 2018 03:41:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=marcDy MohA8OyHQ4H+EfelQpouRiEvpd0T+kFPFxn80=; b=NBAbLbCseOlJiBlVlnkoWM x/ov4Aj5d//HsY16dudpaWd06kcGBkvsgSe6yi5aCeBD1mQcy/ul+o5lhVg7yWG1 GjKRfhX+Qa5VUPota140Dy7lUArwG1GoXo8PDHyVHFru2NN2VMgKt/aJ6yAdn5wP X7cVweMOujgckoy0mQwAywn49RoHaFjOWio/0zIa8Eus04/TDb46o/0dg2fKfVmR 8U8qf5Y3LtwQmqkkjFdSvn9uyLnNTNMDlYCCc6IlN28SYJGiGFYUF/LOd461Ll5S mMQKmNFEVEqjp3zscEGP9cs/DjE95UzePx1A0PAoiLcuwGH7KU0R2F7VRmzha9fg == X-ME-Proxy: X-ME-Sender: Received: by mailuser.nyi.internal (Postfix, from userid 99) id 989BB621DC; Tue, 3 Jul 2018 03:40:59 -0400 (EDT) Message-Id: <1530603659.1377875.1428249096.0D7BA8A9@webmail.messagingengine.com> From: Nikolaus Rath To: Lars Ingebrigtsen MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Mailer: MessagingEngine.com Webmail Interface - ajax-0d8ea36c References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces In-Reply-To: <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> Date: Tue, 03 Jul 2018 08:40:59 +0100 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) *ping* Could someone take a look at the revised patch? Thanks! -Nikolaus -- GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2=AB On Thu, 31 May 2018, at 12:38, Nikolaus Rath wrote: > Hi, >=20 > On Wed, 27 Dec 2017, at 22:10, Lars Ingebrigtsen wrote: > > Looks good, but a couple of niggles: > >=20 > > > +(setq nnimap-namespaces nil) > >=20 > > This should be a defvar, or rather, a defvoo. > >=20 > > [...] > >=20 > > > + (let* ((prefix (cadr (assoc (nnoo-current-server 'nnimap) > > > + nnimap-namespaces))) > > > + (inbox (substring prefix 0 -1))) > >=20 > > And then you could just set nnimap-namespaces without maintaining a > > per-server alist, since that's what the voo machinery does for you > > (switching out variables on a per-server basis). >=20 > Updated patches attached (and rebased onto current master). >=20 > Best, > -Nikolaus >=20 > -- > GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F >=20 > =C2=BBTime flies like an arrow, fruit flies like a Banana.= =C2=AB > Email had 3 attachments: > + 0001-nnimap.el-factor-out-nnimap-group-to-imap.patch > 9k (text/x-patch) > + 0002-nnimap.el-Add-support-for-IMAP-namespaces.patch > 10k (text/x-patch) > + 0003-Turn-nnimap-namespaces-into-a-defvoo-to-make-it-per-.patch > 4k (text/x-patch) From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 07 05:12:49 2018 Received: (at 21057) by debbugs.gnu.org; 7 Jul 2018 09:12:49 +0000 Received: from localhost ([127.0.0.1]:49084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fbjGr-0004Fb-5l for submit@debbugs.gnu.org; Sat, 07 Jul 2018 05:12:49 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36334) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fbjGp-0004FN-6g for 21057@debbugs.gnu.org; Sat, 07 Jul 2018 05:12:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fbjGg-0004QB-Te for 21057@debbugs.gnu.org; Sat, 07 Jul 2018 05:12:42 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:50418) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fbjGg-0004Q5-PK; Sat, 07 Jul 2018 05:12:38 -0400 Received: from [176.228.60.248] (port=4222 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fbjGg-0003PN-5v; Sat, 07 Jul 2018 05:12:38 -0400 Date: Sat, 07 Jul 2018 12:12:42 +0300 Message-Id: <83fu0vjto5.fsf@gnu.org> From: Eli Zaretskii To: Nikolaus Rath In-reply-to: <1530603659.1377875.1428249096.0D7BA8A9@webmail.messagingengine.com> (message from Nikolaus Rath on Tue, 03 Jul 2018 08:40:59 +0100) Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <1530603659.1377875.1428249096.0D7BA8A9@webmail.messagingengine.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 21057 Cc: schwab@suse.de, larsi@gnus.org, 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Nikolaus Rath > Date: Tue, 03 Jul 2018 08:40:59 +0100 > Cc: Andreas Schwab , 21057@debbugs.gnu.org > > *ping* > > Could someone take a look at the revised patch? Sorry it takes us this long to review your contribution. Lars, any further comments? If not, I'd like to push this to the master branch. From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 17 15:43:38 2018 Received: (at 21057) by debbugs.gnu.org; 17 Jul 2018 19:43:38 +0000 Received: from localhost ([127.0.0.1]:45733 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ffVso-0005F9-HR for submit@debbugs.gnu.org; Tue, 17 Jul 2018 15:43:38 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:53479) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ffVsm-0005F1-VL for 21057@debbugs.gnu.org; Tue, 17 Jul 2018 15:43:37 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 6E60721B90; Tue, 17 Jul 2018 15:43:36 -0400 (EDT) Received: from web2 ([10.202.2.212]) by compute1.internal (MEProxy); Tue, 17 Jul 2018 15:43:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=PkIQ53 2LTtENlKdDOZGq5M7gfaYwosfu1QbmbxQNJZ8=; b=MLI5XNHp+kDJ2Vt+z9w1L8 OVaCARsk/a8muqgpE4n/v4CkroFSjECKnT8Pae+pFlya3EHC/+ngiKu10T1rGrHP 4UzA3sXmbP8ysnzsnbbeDhjuWmmHlZG3cAEMPfwUkS3g8bzD3ksHnnJ+F6h2exb2 gJ0x/Ec/jpf+OudO2ZlUi4OkOBgCrRX/0cpnACd43gvqMBgT63TmNwTvGclp+3C9 LNvGrZWh3eXold/hzbwCfre2b20aCYbOcYmC15ERh8PN/x1vd9E5kTVGUsew7ypA oZvf5yzOB7r6Hk83ie8/NHQamO8VQke26TWtuA+Epptv9yjM2NauEx+bQK8XzIPQ == X-ME-Proxy: X-ME-Sender: Received: by mailuser.nyi.internal (Postfix, from userid 99) id B1C9D621DD; Tue, 17 Jul 2018 15:43:35 -0400 (EDT) Message-Id: <1531856615.983553.1444011936.430D8878@webmail.messagingengine.com> From: Nikolaus Rath To: Eli Zaretskii MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Mailer: MessagingEngine.com Webmail Interface - ajax-957169fa Date: Tue, 17 Jul 2018 20:43:35 +0100 Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <1530603659.1377875.1428249096.0D7BA8A9@webmail.messagingengine.com> <83fu0vjto5.fsf@gnu.org> In-Reply-To: <83fu0vjto5.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: schwab@suse.de, larsi@gnus.org, 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Sat, 7 Jul 2018, at 10:12, Eli Zaretskii wrote: > > From: Nikolaus Rath > > Date: Tue, 03 Jul 2018 08:40:59 +0100 > > Cc: Andreas Schwab , 21057@debbugs.gnu.org > >=20 > > *ping* > >=20 > > Could someone take a look at the revised patch? >=20 > Sorry it takes us this long to review your contribution. >=20 > Lars, any further comments? If not, I'd like to push this to the > master branch. Anything I can do to help? Best, -Nikolaus -- GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2=AB From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 20 05:43:58 2018 Received: (at 21057) by debbugs.gnu.org; 20 Jul 2018 09:43:58 +0000 Received: from localhost ([127.0.0.1]:48825 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fgRx8-0000Nh-11 for submit@debbugs.gnu.org; Fri, 20 Jul 2018 05:43:58 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59624) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fgRx3-0000NR-EU for 21057@debbugs.gnu.org; Fri, 20 Jul 2018 05:43:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fgRwt-0006Gr-NO for 21057@debbugs.gnu.org; Fri, 20 Jul 2018 05:43:48 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46764) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fgRwt-0006Gj-Jp; Fri, 20 Jul 2018 05:43:43 -0400 Received: from [176.228.60.248] (port=1114 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fgRwt-0006mb-0H; Fri, 20 Jul 2018 05:43:43 -0400 Date: Fri, 20 Jul 2018 12:43:42 +0300 Message-Id: <83h8ku1bu9.fsf@gnu.org> From: Eli Zaretskii To: Nikolaus Rath In-reply-to: <1531856615.983553.1444011936.430D8878@webmail.messagingengine.com> (message from Nikolaus Rath on Tue, 17 Jul 2018 20:43:35 +0100) Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <1530603659.1377875.1428249096.0D7BA8A9@webmail.messagingengine.com> <83fu0vjto5.fsf@gnu.org> <1531856615.983553.1444011936.430D8878@webmail.messagingengine.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 21057 Cc: schwab@suse.de, larsi@gnus.org, 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Nikolaus Rath > Cc: larsi@gnus.org, schwab@suse.de, 21057@debbugs.gnu.org > Date: Tue, 17 Jul 2018 20:43:35 +0100 > > On Sat, 7 Jul 2018, at 10:12, Eli Zaretskii wrote: > > > From: Nikolaus Rath > > > Date: Tue, 03 Jul 2018 08:40:59 +0100 > > > Cc: Andreas Schwab , 21057@debbugs.gnu.org > > > > > > *ping* > > > > > > Could someone take a look at the revised patch? > > > > Sorry it takes us this long to review your contribution. > > > > Lars, any further comments? If not, I'd like to push this to the > > master branch. > > Anything I can do to help? I was going to just apply your changes, but that failed: first, the patch includes changes to lisp/ChangeLog, which we no longer have; and second, nnimap.el is not in lisp, it's in lisp/gnus/. I tried to edit the patch to fix these issues, but then "git am" still failed claiming that the patch wouldn't apply. So please rebase your patch on the current master branch and resubmit. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 20 15:16:51 2018 Received: (at 21057) by debbugs.gnu.org; 20 Jul 2018 19:16:51 +0000 Received: from localhost ([127.0.0.1]:49941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fgatT-0002yu-PE for submit@debbugs.gnu.org; Fri, 20 Jul 2018 15:16:51 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:47877) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fgatP-0002yj-6j for 21057@debbugs.gnu.org; Fri, 20 Jul 2018 15:16:46 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id D68A22D2; Fri, 20 Jul 2018 15:16:41 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Fri, 20 Jul 2018 15:16:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=P9G/t2 TVD2biNFY1OhHUmqS62U4VK0DHIvhvDailYsg=; b=tlfkFjT/HMFkoYhCrO/AMS ni6DWt3K6ngh+LOrSrU0rNUrWQIBw7X2QYCt3pEDqkETJKP4QcS6IoOvlgtAg5NJ GRds2fJ6lFIZuG466x9IbHidzSEwMrsq3uGg3yEIKxkXTKTv+5QeWkfrLpV5TiC9 9Kyz4aHfAiKrQqugazIxDCV5Zm7OkTWrzAgxROfNA5V97S/hrmhSAR3a/fqPm7V9 Q0DXRqezTXRMNTeYLIlkYl1jZN2QubyK+ey4R1bBV6XdkDNhQ7z3sBEHMVpd80T8 m45M01LMs+n2AMQSO8jTnzMc443Rf22DFEjNMznlPuyKwNiHBYYEd1g7H0HJCC+w == X-ME-Proxy: X-ME-Sender: Received: from ebox.rath.org (ebox.rath.org [185.3.94.194]) by mail.messagingengine.com (Postfix) with ESMTPA id 528D0E4519; Fri, 20 Jul 2018 15:16:40 -0400 (EDT) Received: from vostro.rath.org (vostro [192.168.12.4]) by ebox.rath.org (Postfix) with ESMTPS id F20E32F; Fri, 20 Jul 2018 19:16:38 +0000 (UTC) Received: by vostro.rath.org (Postfix, from userid 1000) id B885CE0272; Fri, 20 Jul 2018 20:16:38 +0100 (BST) From: Nikolaus Rath To: Eli Zaretskii Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <1530603659.1377875.1428249096.0D7BA8A9@webmail.messagingengine.com> <83fu0vjto5.fsf@gnu.org> <1531856615.983553.1444011936.430D8878@webmail.messagingengine.com> <83h8ku1bu9.fsf@gnu.org> Date: Fri, 20 Jul 2018 20:16:38 +0100 In-Reply-To: <83h8ku1bu9.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 20 Jul 2018 12:43:42 +0300") Message-ID: <87effx7m5l.fsf@vostro.rath.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: schwab@suse.de, larsi@gnus.org, 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Jul 20 2018, Eli Zaretskii wrote: >> From: Nikolaus Rath >> Cc: larsi@gnus.org, schwab@suse.de, 21057@debbugs.gnu.org >> Date: Tue, 17 Jul 2018 20:43:35 +0100 >>=20 >> On Sat, 7 Jul 2018, at 10:12, Eli Zaretskii wrote: >> > > From: Nikolaus Rath >> > > Date: Tue, 03 Jul 2018 08:40:59 +0100 >> > > Cc: Andreas Schwab , 21057@debbugs.gnu.org >> > >=20 >> > > *ping* >> > >=20 >> > > Could someone take a look at the revised patch? >> >=20 >> > Sorry it takes us this long to review your contribution. >> >=20 >> > Lars, any further comments? If not, I'd like to push this to the >> > master branch. >>=20 >> Anything I can do to help? > > I was going to just apply your changes, but that failed: first, the > patch includes changes to lisp/ChangeLog, which we no longer have; and > second, nnimap.el is not in lisp, it's in lisp/gnus/. I tried to edit > the patch to fix these issues, but then "git am" still failed claiming > that the patch wouldn't apply. Are you sure that you tried to apply the right patch? The patches in https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D21057#37 all refer to lisp/gnus/nnimap.el and do not contain any ChangeLog file: $ grep diff *.patch 0001-nnimap.el-factor-out-nnimap-group-to-imap.patch:diff --git a/lisp/gnus= /nnimap.el b/lisp/gnus/nnimap.el 0002-nnimap.el-Add-support-for-IMAP-namespaces.patch:diff --git a/doc/misc/= gnus.texi b/doc/misc/gnus.texi 0002-nnimap.el-Add-support-for-IMAP-namespaces.patch:diff --git a/etc/NEWS = b/etc/NEWS 0002-nnimap.el-Add-support-for-IMAP-namespaces.patch:diff --git a/lisp/gnus= /nnimap.el b/lisp/gnus/nnimap.el 0003-Turn-nnimap-namespaces-into-a-defvoo-to-make-it-per-.patch:diff --git = a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el Best, -Nikolaus --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 20 15:50:44 2018 Received: (at 21057) by debbugs.gnu.org; 20 Jul 2018 19:50:44 +0000 Received: from localhost ([127.0.0.1]:49974 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fgbQJ-0005n6-3M for submit@debbugs.gnu.org; Fri, 20 Jul 2018 15:50:44 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57976) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fgbQD-0005mo-Lf for 21057@debbugs.gnu.org; Fri, 20 Jul 2018 15:50:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fgbQ4-0001L9-Qa for 21057@debbugs.gnu.org; Fri, 20 Jul 2018 15:50:32 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41943) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fgbQ4-0001Ky-GA; Fri, 20 Jul 2018 15:50:28 -0400 Received: from [176.228.60.248] (port=2923 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1fgbQ3-0007QX-Uf; Fri, 20 Jul 2018 15:50:28 -0400 Date: Fri, 20 Jul 2018 22:50:28 +0300 Message-Id: <83muulzny3.fsf@gnu.org> From: Eli Zaretskii To: Nikolaus Rath In-reply-to: <87effx7m5l.fsf@vostro.rath.org> (message from Nikolaus Rath on Fri, 20 Jul 2018 20:16:38 +0100) Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <1530603659.1377875.1428249096.0D7BA8A9@webmail.messagingengine.com> <83fu0vjto5.fsf@gnu.org> <1531856615.983553.1444011936.430D8878@webmail.messagingengine.com> <83h8ku1bu9.fsf@gnu.org> <87effx7m5l.fsf@vostro.rath.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 21057 Cc: schwab@suse.de, larsi@gnus.org, 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Nikolaus Rath > Cc: larsi@gnus.org, schwab@suse.de, 21057@debbugs.gnu.org > Date: Fri, 20 Jul 2018 20:16:38 +0100 > > > I was going to just apply your changes, but that failed: first, the > > patch includes changes to lisp/ChangeLog, which we no longer have; and > > second, nnimap.el is not in lisp, it's in lisp/gnus/. I tried to edit > > the patch to fix these issues, but then "git am" still failed claiming > > that the patch wouldn't apply. > > Are you sure that you tried to apply the right patch? The patches in > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=21057#37 all refer to > lisp/gnus/nnimap.el and do not contain any ChangeLog file: Oops, no, I tried to use the original patches. Sorry. From debbugs-submit-bounces@debbugs.gnu.org Sun Jul 22 09:31:20 2018 Received: (at 21057) by debbugs.gnu.org; 22 Jul 2018 13:31:20 +0000 Received: from localhost ([127.0.0.1]:51642 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhESG-0007hn-5G for submit@debbugs.gnu.org; Sun, 22 Jul 2018 09:31:20 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:58307) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhESE-0007hf-H3 for 21057@debbugs.gnu.org; Sun, 22 Jul 2018 09:31:18 -0400 Received: from cm-84.212.221.165.getinternet.no ([84.212.221.165] helo=stories) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1fhES9-0008T3-0I; Sun, 22 Jul 2018 15:31:15 +0200 From: Lars Ingebrigtsen To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> Date: Sun, 22 Jul 2018 15:31:12 +0200 In-Reply-To: <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> (Nikolaus Rath's message of "Thu, 31 May 2018 12:38:32 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Nikolaus Rath writes: > Updated patches attached (and rebased onto current master). Sorry for the delays; I've now applied your patches to Emacs master. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 02:01:06 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 06:01:06 +0000 Received: from localhost ([127.0.0.1]:53002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhTu2-0005nJ-O4 for submit@debbugs.gnu.org; Mon, 23 Jul 2018 02:01:06 -0400 Received: from mail.ericabrahamsen.net ([50.56.99.223]:35315) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhTty-0005mj-8W for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 02:01:01 -0400 Received: from localhost (97-113-227-87.tukw.qwest.net [97.113.227.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 75D21C2322; Mon, 23 Jul 2018 06:00:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1532325657; bh=gjULQFtzLEj8k7MD7IPaQGM/OJrb1Ti1oKE96NUsq7A=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=ynwxlxeK4pcAKDePWM8/9+9bPXKK3bXPkQmISlkOHoKT8LgE3s9wivUC04sU8703N 3wm4DLw8K6KprscIrQsQW0SZqxpvoXMr0QI2NqOAjobTZrPkV/Yh/tPFzdB8B7bWR/ XB56/2lOns0U4DLQjL85lopjycSkCF0xsQ0yJUTw= From: Eric Abrahamsen To: Lars Ingebrigtsen Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> Date: Sun, 22 Jul 2018 23:00:56 -0700 In-Reply-To: (Lars Ingebrigtsen's message of "Sun, 22 Jul 2018 15:31:12 +0200") Message-ID: <87in56h4o7.fsf@ericabrahamsen.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , Nikolaus Rath , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Lars Ingebrigtsen writes: > Nikolaus Rath writes: > >> Updated patches attached (and rebased onto current master). > > Sorry for the delays; I've now applied your patches to Emacs master. This raises an error for me when Gnus starts. `nnimap-retrieve-group-data-early' calls `nnimap-group-to-imap', which does: (substring nnimap-namespace 0 -1) `nnimap-namespace' is nil, so an error is raised. What's supposed to happen? Eric From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 03:03:27 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 07:03:28 +0000 Received: from localhost ([127.0.0.1]:53023 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhUsR-0007E1-Oq for submit@debbugs.gnu.org; Mon, 23 Jul 2018 03:03:27 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:37654) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhUsP-0007Dq-Ph for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 03:03:26 -0400 Received: from cm-84.212.221.165.getinternet.no ([84.212.221.165] helo=stories) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1fhUsJ-0002dQ-Fp; Mon, 23 Jul 2018 09:03:21 +0200 From: Lars Ingebrigtsen To: Eric Abrahamsen Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEWDh5HCvbH49/OclIfS zcL9/fz7+/qtpJaBhpK3r6L////+//7p5t9/f4T+/v1RBwJ/AAABAklEQVQ4jWNYBQLLFmWtgoFH h1atCopaxQDhIcRhACqx6hUuCZw6SJGIObXq3aJzR96hS6yec/RJ8REj8+tKqC5jWCQ4sfyy8nTj 65pRqBJLPUUkK0UcjcvFiLW8o6ODAQw4GjrgoKGBgWGVyjmQgmNArLILWcc6m1OrVi0RLX+1alUJ ilFrDk6vnBNccrHcvPi66CFk5850lDWZLnNw4nTH6VP8kF317p1kVNzTde/evXsaiubcp1idi9Mf SOx1JEsQZUcUVeN8xElk4dSxDhz3WCSexr17hU1i3dLQqChsEkuXPnuahVXHuqWpWCVWRYWlYTVq 1dN3OFy1CpxP6RGIABTF5UQoael9AAAAAElFTkSuQmCC Date: Mon, 23 Jul 2018 09:03:19 +0200 In-Reply-To: <87in56h4o7.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Sun, 22 Jul 2018 23:00:56 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , Nikolaus Rath , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eric Abrahamsen writes: > This raises an error for me when Gnus starts. > > `nnimap-retrieve-group-data-early' calls `nnimap-group-to-imap', which > does: > > (substring nnimap-namespace 0 -1) > > `nnimap-namespace' is nil, so an error is raised. I've now reverted the patch. It seems like if you're not using namespaces, it'll bug out in several places that assumes that namespaces are in use. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 03:22:38 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 07:22:38 +0000 Received: from localhost ([127.0.0.1]:53031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhVAw-0007fv-Cy for submit@debbugs.gnu.org; Mon, 23 Jul 2018 03:22:37 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:53085) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhVAq-0007fi-RH for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 03:22:32 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 4D0D021AEC; Mon, 23 Jul 2018 03:22:28 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Mon, 23 Jul 2018 03:22:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=olhlRP MFcYGF14OgBvaNLCLESuqBIXh0ZG2nwTfoeL4=; b=Yijujn2Toyh+T6WU/96jR0 CnuAyrh038LRqARHunGwy9hn7Gz63J7Fcul0le4mbKTLc/UbyJanm1/b9UI65xsi jEOL4kXE5L2VhhlO4UzuEH4sBYzxNaSudVU9hlwGxKG22ke7RhYkw36gAwV4z2R7 5mdit+zpSDoLoY7TB3hsZK3VqZYRy235R9RDgjkLrKGJ55yX3s57l7gTmHewbgmI hcNI8ZWmFtV+qfqyzlqEuYpp3UADhex+lIC/HP2a/ify0iq+dGo8d/yvFCF4k5R1 P4j8j5QAB3/7Rns5Tx+g7c4KyN9RJZZOeXhIQ0mgk9rXE9/ZPVtom2QUfK6W5Gfw == X-ME-Proxy: X-ME-Sender: Received: from ebox.rath.org (ebox.rath.org [185.3.94.194]) by mail.messagingengine.com (Postfix) with ESMTPA id 7EBF01025D; Mon, 23 Jul 2018 03:22:27 -0400 (EDT) Received: from thinkpad.rath.org (thinkpad [192.168.12.2]) by ebox.rath.org (Postfix) with ESMTPS id 551CB36; Mon, 23 Jul 2018 07:22:26 +0000 (UTC) Received: by thinkpad.rath.org (Postfix, from userid 1000) id 3E26CBFCD1; Mon, 23 Jul 2018 08:22:26 +0100 (BST) From: Nikolaus Rath To: Lars Ingebrigtsen Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> Date: Mon, 23 Jul 2018 08:22:26 +0100 In-Reply-To: (Lars Ingebrigtsen's message of "Mon, 23 Jul 2018 09:03:19 +0200") Message-ID: <8736wazaa5.fsf@thinkpad.rath.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On Jul 23 2018, Lars Ingebrigtsen wrote: > Eric Abrahamsen writes: > >> This raises an error for me when Gnus starts. >> >> `nnimap-retrieve-group-data-early' calls `nnimap-group-to-imap', which >> does: >> >> (substring nnimap-namespace 0 -1) >> >> `nnimap-namespace' is nil, so an error is raised. > > I've now reverted the patch. It seems like if you're not using > namespaces, it'll bug out in several places that assumes that namespaces > are in use. I think the problem is just the default value for nnimap-namespace provided to defvoo, it should be the empty string rather than nil. Am I missing something? Best, -Nikolaus --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 03:39:42 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 07:39:42 +0000 Received: from localhost ([127.0.0.1]:53037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhVRW-000871-9f for submit@debbugs.gnu.org; Mon, 23 Jul 2018 03:39:42 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:39080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhVRV-00086t-CY for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 03:39:41 -0400 Received: from cm-84.212.221.165.getinternet.no ([84.212.221.165] helo=stories) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1fhVRQ-0004Pd-S3; Mon, 23 Jul 2018 09:39:38 +0200 From: Lars Ingebrigtsen To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEWDh5HCvbH49/OclIfS zcL9/fz7+/qtpJaBhpK3r6L////+//7p5t9/f4T+/v1RBwJ/AAABAklEQVQ4jWNYBQLLFmWtgoFH h1atCopaxQDhIcRhACqx6hUuCZw6SJGIObXq3aJzR96hS6yec/RJ8REj8+tKqC5jWCQ4sfyy8nTj 65pRqBJLPUUkK0UcjcvFiLW8o6ODAQw4GjrgoKGBgWGVyjmQgmNArLILWcc6m1OrVi0RLX+1alUJ ilFrDk6vnBNccrHcvPi66CFk5850lDWZLnNw4nTH6VP8kF317p1kVNzTde/evXsaiubcp1idi9Mf SOx1JEsQZUcUVeN8xElk4dSxDhz3WCSexr17hU1i3dLQqChsEkuXPnuahVXHuqWpWCVWRYWlYTVq 1dN3OFy1CpxP6RGIABTF5UQoael9AAAAAElFTkSuQmCC Date: Mon, 23 Jul 2018 09:39:36 +0200 In-Reply-To: <8736wazaa5.fsf@thinkpad.rath.org> (Nikolaus Rath's message of "Mon, 23 Jul 2018 08:22:26 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Nikolaus Rath writes: > I think the problem is just the default value for nnimap-namespace > provided to defvoo, it should be the empty string rather than nil. > > Am I missing something? The procedure when things don't work is to revert the patch so that people can use Emacs while we try to figure out what the problem is. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 04:58:39 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 08:58:39 +0000 Received: from localhost ([127.0.0.1]:53056 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhWfr-0001dP-SL for submit@debbugs.gnu.org; Mon, 23 Jul 2018 04:58:39 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:45883) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhWfm-0001dA-0y for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 04:58:33 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id BF4F221AA1; Mon, 23 Jul 2018 04:58:29 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Mon, 23 Jul 2018 04:58:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=ITfJVj lDVFMJ8T9XVbQmudTf50/EtR5HGBt1Shp5HMQ=; b=CuEqsRLzCXk9+dIc2sCqQJ +RffoBZt99AD9nF5dYmG+aCXwOZLO1k7h0oge+F/UbNCo7+RQD3QFpz2WCS9rCP6 4lzqiPIEWAUOlH+OPfEhrH+lP+x6SvJefo0f0dwOGNXrRfjduT7/BAgMPSlEjflk ECnHE3yC+BNniAQI8ZCoBtFr7jstctTurd/dLzYcP+Wqa/PcawFt4eCS/sP+jvuu mvsDj59nkLT/pcogba+nesta1GawoHPSbP2F4nAlj3hEVnsSfIteud8giulKThHc WrrE9DAmrSPQRsIPLnDX8pt8rnHBsaO2gXADYZ4vrryLxJSbmB/KSed6KGYFxh+A == X-ME-Proxy: X-ME-Sender: Received: from [100.81.76.210] (unknown [104.132.45.98]) by mail.messagingengine.com (Postfix) with ESMTPA id C8622E4445; Mon, 23 Jul 2018 04:58:28 -0400 (EDT) Date: Mon, 23 Jul 2018 09:58:26 +0100 User-Agent: K-9 Mail for Android In-Reply-To: References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----7NAS42F5A4SE2VLTK64FEG9B5YDJLF" Content-Transfer-Encoding: 7bit Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces To: Lars Ingebrigtsen From: Nikolaus Rath Message-ID: <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) ------7NAS42F5A4SE2VLTK64FEG9B5YDJLF Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, That's fine=2E I really just wanted to ask if my understanding is correct,= to avoid creating a wrong patch for the patch=2E Cheers, Niko On 23 July 2018 08:39:36 BST, Lars Ingebrigtsen wrote: >Nikolaus Rath writes: > >> I think the problem is just the default value for nnimap-namespace >> provided to defvoo, it should be the empty string rather than nil=2E >> >> Am I missing something? > >The procedure when things don't work is to revert the patch so that >people can use Emacs while we try to figure out what the problem is=2E > >--=20 >(domestic pets only, the antidote for overdose, milk=2E) > bloggy blog: http://lars=2Eingebrigtsen=2Eno --=20 Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E ------7NAS42F5A4SE2VLTK64FEG9B5YDJLF Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi,

That's fine=2E I really just wanted to ask if my understanding is corr= ect, to avoid creating a wrong patch for the patch=2E

Cheers,
Niko



On 23 July 2018 08:39:36 BST, Lars Inge= brigtsen <larsi@gnus=2Eorg> wrote:
Nikolaus Rath <Nikolaus@rath=2Eorg> writes:
I think the problem = is just the default value for nnimap-namespace
provided to defvoo, it s= hould be the empty string rather than nil=2E

Am I missing something= ?

The procedure when things don't work is to revert the= patch so that
people can use Emacs while we try to figure out what the = problem is=2E

--
Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E ------7NAS42F5A4SE2VLTK64FEG9B5YDJLF-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 05:00:47 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 09:00:47 +0000 Received: from localhost ([127.0.0.1]:53061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhWhz-0001hz-LS for submit@debbugs.gnu.org; Mon, 23 Jul 2018 05:00:47 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:41660) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhWhy-0001hq-AE for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 05:00:46 -0400 Received: from cm-84.212.221.165.getinternet.no ([84.212.221.165] helo=stories) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1fhWho-00082q-BT; Mon, 23 Jul 2018 11:00:44 +0200 From: Lars Ingebrigtsen To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEWDh5HCvbH49/OclIfS zcL9/fz7+/qtpJaBhpK3r6L////+//7p5t9/f4T+/v1RBwJ/AAABAklEQVQ4jWNYBQLLFmWtgoFH h1atCopaxQDhIcRhACqx6hUuCZw6SJGIObXq3aJzR96hS6yec/RJ8REj8+tKqC5jWCQ4sfyy8nTj 65pRqBJLPUUkK0UcjcvFiLW8o6ODAQw4GjrgoKGBgWGVyjmQgmNArLILWcc6m1OrVi0RLX+1alUJ ilFrDk6vnBNccrHcvPi66CFk5850lDWZLnNw4nTH6VP8kF317p1kVNzTde/evXsaiubcp1idi9Mf SOx1JEsQZUcUVeN8xElk4dSxDhz3WCSexr17hU1i3dLQqChsEkuXPnuahVXHuqWpWCVWRYWlYTVq 1dN3OFy1CpxP6RGIABTF5UQoael9AAAAAElFTkSuQmCC Date: Mon, 23 Jul 2018 11:00:36 +0200 In-Reply-To: <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> (Nikolaus Rath's message of "Mon, 23 Jul 2018 09:58:26 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Nikolaus Rath writes: > That's fine. I really just wanted to ask if my understanding is > correct, to avoid creating a wrong patch for the patch. I think that sounds likely, but I haven't tested. :-) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 05:01:50 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 09:01:50 +0000 Received: from localhost ([127.0.0.1]:53066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhWiz-0001jj-Uo for submit@debbugs.gnu.org; Mon, 23 Jul 2018 05:01:50 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:41711) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhWix-0001ja-St for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 05:01:48 -0400 Received: from cm-84.212.221.165.getinternet.no ([84.212.221.165] helo=stories) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1fhWiW-0004Y2-5j; Mon, 23 Jul 2018 11:01:47 +0200 From: Lars Ingebrigtsen To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEWDh5HCvbH49/OclIfS zcL9/fz7+/qtpJaBhpK3r6L////+//7p5t9/f4T+/v1RBwJ/AAABAklEQVQ4jWNYBQLLFmWtgoFH h1atCopaxQDhIcRhACqx6hUuCZw6SJGIObXq3aJzR96hS6yec/RJ8REj8+tKqC5jWCQ4sfyy8nTj 65pRqBJLPUUkK0UcjcvFiLW8o6ODAQw4GjrgoKGBgWGVyjmQgmNArLILWcc6m1OrVi0RLX+1alUJ ilFrDk6vnBNccrHcvPi66CFk5850lDWZLnNw4nTH6VP8kF317p1kVNzTde/evXsaiubcp1idi9Mf SOx1JEsQZUcUVeN8xElk4dSxDhz3WCSexr17hU1i3dLQqChsEkuXPnuahVXHuqWpWCVWRYWlYTVq 1dN3OFy1CpxP6RGIABTF5UQoael9AAAAAElFTkSuQmCC Date: Mon, 23 Jul 2018 11:01:20 +0200 In-Reply-To: <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> (Nikolaus Rath's message of "Mon, 23 Jul 2018 09:58:26 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) (That is, there are checks for whether nnimap-namespace is nil here and there, so those seem invalid if nil isn't a valid value for that variable.) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 05:53:59 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 09:53:59 +0000 Received: from localhost ([127.0.0.1]:53087 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhXXS-0002vW-To for submit@debbugs.gnu.org; Mon, 23 Jul 2018 05:53:59 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:51059) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhXXQ-0002vM-Uc for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 05:53:57 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 8933B21990; Mon, 23 Jul 2018 05:53:56 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Mon, 23 Jul 2018 05:53:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=AT6tsFyt7CW3/uhndSnZEa2Yb45NF 2IVTJjMCvuWnQA=; b=Q5hC3NvK+jI7jWoyMi8SUFyGdAxvDQpIEiGFAAilYdrpN pEPLpOb6Apz78AW1k1rWecn2BDdkGpvNb5lckxrfkn/amnCtIBL9UwHzN1TXVaZV MtUgmmpUG0ja9XYs5nh1soZniyF2NkEHU0/QIhA4Hp+bKlKzV7bggZK1CldwiQsP ex8kTFQcdA8/UrPFXiCAUe0a3gbIp+epGVCNymHub+vpWJHadiWPByvGuwZYqJcN wU5zh1NIP1saQaMkqKJVt1VkXEXUzoZG/4EhGkaZ0J/xJxY3MLfk1nYkbaAgoSGt fud/MS5nUc6Pi0kbtWCR6gQnOEXMXmUThRRrda8WA== X-ME-Proxy: X-ME-Sender: Received: from ebox.rath.org (ebox.rath.org [185.3.94.194]) by mail.messagingengine.com (Postfix) with ESMTPA id D644B10293; Mon, 23 Jul 2018 05:53:55 -0400 (EDT) Received: from thinkpad.rath.org (thinkpad [192.168.12.2]) by ebox.rath.org (Postfix) with ESMTPS id 1C85036; Mon, 23 Jul 2018 09:53:55 +0000 (UTC) Received: by thinkpad.rath.org (Postfix, from userid 1000) id 06AE0BFD5F; Mon, 23 Jul 2018 10:53:55 +0100 (BST) From: Nikolaus Rath To: Lars Ingebrigtsen Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> Date: Mon, 23 Jul 2018 10:53:54 +0100 In-Reply-To: (Lars Ingebrigtsen's message of "Mon, 23 Jul 2018 11:01:20 +0200") Message-ID: <87o9eyjn0t.fsf@thinkpad.rath.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Reworked patch is attached. I tested with and and without nnimap-use-namespaces on Emacs 25.1.1. Best, Nikolaus --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Make-nnimap-support-IMAP-namespaces.patch >From ff88c4969617ede5742e039136159fe3650ac693 Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Mon, 23 Jul 2018 10:21:46 +0100 Subject: [PATCH] Make nnimap support IMAP namespaces * lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduce new server variable. (nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group names to Gnus group name by stripping / prefixing personal namespace prefix. (nnimap-open-connection-1): Ask server for namespaces and store them. * lisp/gnus/nnimap.el (nnimap-request-group-scan) (nnimap-request-create-group, nnimap-request-delete-group) (nnimap-request-rename-group, nnimap-request-move-article) (nnimap-process-expiry-targets) (nnimap-request-update-group-status) (nnimap-request-accept-article, nnimap-request-list) (nnimap-retrieve-group-data-early, nnimap-change-group) (nnimap-split-incoming-mail): Use nnimap-group-to-imap. (nnimap-group-to-imap): New function to map Gnus group names to IMAP folder names. --- doc/misc/gnus.texi | 6 ++++ etc/NEWS | 5 +++ lisp/gnus/nnimap.el | 93 +++++++++++++++++++++++++++++++++++++---------------- 3 files changed, 77 insertions(+), 27 deletions(-) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 6793ed..cd97cf 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -14320,6 +14320,12 @@ fetch all textual parts, while leaving the rest on the server. If non-@code{nil}, record all @acronym{IMAP} commands in the @samp{"*imap log*"} buffer. +@item nnimap-use-namespaces +If non-@code{nil}, omit the IMAP namespace prefix in nnimap group +names. If your IMAP mailboxes are called something like @samp{INBOX} +and @samp{INBOX.Lists.emacs}, but you'd like the nnimap group names to +be @samp{INBOX} and @samp{Lists.emacs}, you should enable this option. + @end table diff --git a/etc/NEWS b/etc/NEWS index fc2a5..57b51 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -46,6 +46,11 @@ option --enable-check-lisp-object-type is therefore no longer as useful and so is no longer enabled by default in developer builds, to reduce differences between developer and production builds. +** Gnus + ++++ +*** The nnimap backend now has support for IMAP namespaces. + * Startup Changes in Emacs 27.1 diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 3b397..efcb68 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -55,6 +55,13 @@ If nnimap-stream is `ssl', this will default to `imaps'. If not, it will default to `imap'.") +(defvoo nnimap-use-namespaces nil + "Whether to use IMAP namespaces. +If in Gnus your folder names in all start with (e.g.) `INBOX', +you probably want to set this to t. The effects of this are +purely cosmetical, but changing this variable will affect the +names of your nnimap groups. ") + (defvoo nnimap-stream 'undecided "How nnimap talks to the IMAP server. The value should be either `undecided', `ssl' or `tls', @@ -110,6 +117,8 @@ some servers.") (defvoo nnimap-current-infos nil) +(defvoo nnimap-namespace nil) + (defun nnimap-decode-gnus-group (group) (decode-coding-string group 'utf-8)) @@ -166,6 +175,19 @@ textual parts.") (defvar nnimap-inhibit-logging nil) +(defun nnimap-group-to-imap (group) + "Convert Gnus group name to IMAP mailbox name." + (let* ((inbox (if nnimap-namespace + (substring nnimap-namespace 0 -1) nil))) + (utf7-encode + (cond ((or (not inbox) + (string-equal group inbox)) + group) + ((string-prefix-p "#" group) + (substring group 1)) + (t + (concat nnimap-namespace group))) t))) + (defun nnimap-buffer () (nnimap-find-process-buffer nntp-server-buffer)) @@ -442,7 +464,8 @@ textual parts.") (props (cdr stream-list)) (greeting (plist-get props :greeting)) (capabilities (plist-get props :capabilities)) - (stream-type (plist-get props :type))) + (stream-type (plist-get props :type)) + (server (nnoo-current-server 'nnimap))) (when (and stream (not (memq (process-status stream) '(open run)))) (setq stream nil)) @@ -475,9 +498,7 @@ textual parts.") ;; the virtual server name and the address (nnimap-credentials (gnus-delete-duplicates - (list - (nnoo-current-server 'nnimap) - nnimap-address)) + (list server nnimap-address)) ports nnimap-user)))) (setq nnimap-object nil) @@ -496,8 +517,17 @@ textual parts.") (dolist (response (cddr (nnimap-command "CAPABILITY"))) (when (string= "CAPABILITY" (upcase (car response))) (setf (nnimap-capabilities nnimap-object) - (mapcar #'upcase (cdr response)))))) - ;; If the login failed, then forget the credentials + (mapcar #'upcase (cdr response))))) + (when (and nnimap-use-namespaces + (nnimap-capability "NAMESPACE")) + (erase-buffer) + (nnimap-wait-for-response (nnimap-send-command "NAMESPACE")) + (let ((response (nnimap-last-response-string))) + (when (string-match + "^\\*\\W+NAMESPACE\\W+((\"\\([^\"\n]+\\)\"\\W+\"\\(.\\)\"))\\W+" + response) + (setq nnimap-namespace (match-string 1 response)))))) + ;; If the login failed, then forget the credentials ;; that are now possibly cached. (dolist (host (list (nnoo-current-server 'nnimap) nnimap-address)) @@ -837,7 +867,7 @@ textual parts.") (with-current-buffer (nnimap-buffer) (erase-buffer) (let ((group-sequence - (nnimap-send-command "SELECT %S" (utf7-encode group t))) + (nnimap-send-command "SELECT %S" (nnimap-group-to-imap group))) (flag-sequence (nnimap-send-command "UID FETCH 1:* FLAGS"))) (setf (nnimap-group nnimap-object) group) @@ -870,13 +900,13 @@ textual parts.") (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) + (car (nnimap-command "CREATE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-delete-group (group &optional _force server) (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) + (car (nnimap-command "DELETE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-rename-group (group new-name &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -884,7 +914,7 @@ textual parts.") (with-current-buffer (nnimap-buffer) (nnimap-unselect-group) (car (nnimap-command "RENAME %S %S" - (utf7-encode group t) (utf7-encode new-name t)))))) + (nnimap-group-to-imap group) (nnimap-group-to-imap new-name)))))) (defun nnimap-unselect-group () ;; Make sure we don't have this group open read/write by asking @@ -944,7 +974,7 @@ textual parts.") "UID COPY %d %S")) (result (nnimap-command command article - (utf7-encode internal-move-group t)))) + (nnimap-group-to-imap internal-move-group)))) (when (and (car result) (not can-move)) (nnimap-delete-article article)) (cons internal-move-group @@ -1011,7 +1041,7 @@ textual parts.") "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges (gnus-compress-sequence articles)) - (utf7-encode (gnus-group-real-name nnmail-expiry-target) t)) + (nnimap-group-to-imap (gnus-group-real-name nnmail-expiry-target))) (set (if can-move 'deleted-articles 'articles-to-delete) articles)))) t) (t @@ -1136,7 +1166,7 @@ If LIMIT, first try to limit the search to the N last articles." (unsubscribe "UNSUBSCRIBE"))))) (when command (with-current-buffer (nnimap-buffer) - (nnimap-command "%s %S" (cadr command) (utf7-encode group t))))))) + (nnimap-command "%s %S" (cadr command) (nnimap-group-to-imap group))))))) (deffoo nnimap-request-set-mark (group actions &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -1191,7 +1221,7 @@ If LIMIT, first try to limit the search to the N last articles." (nnimap-unselect-group)) (erase-buffer) (setq sequence (nnimap-send-command - "APPEND %S {%d}" (utf7-encode group t) + "APPEND %S {%d}" (nnimap-group-to-imap group) (length message))) (unless nnimap-streaming (nnimap-wait-for-connection "^[+]")) @@ -1271,8 +1301,12 @@ If LIMIT, first try to limit the search to the N last articles." (defun nnimap-get-groups () (erase-buffer) - (let ((sequence (nnimap-send-command "LIST \"\" \"*\"")) - groups) + (let* ((sequence (nnimap-send-command "LIST \"\" \"*\"")) + (prefix nnimap-namespace) + (prefix-len (if prefix (length prefix) nil)) + (inbox (if prefix + (substring prefix 0 -1) nil)) + groups) (nnimap-wait-for-response sequence) (subst-char-in-region (point-min) (point-max) ?\\ ?% t) @@ -1289,11 +1323,16 @@ If LIMIT, first try to limit the search to the N last articles." (skip-chars-backward " \r\"") (point))))) (unless (member '%NoSelect flags) - (push (utf7-decode (if (stringp group) - group - (format "%s" group)) - t) - groups)))) + (let* ((group (utf7-decode (if (stringp group) group + (format "%s" group)) t)) + (group (cond ((or (not prefix) + (equal inbox group)) + group) + ((string-prefix-p prefix group) + (substring group prefix-len)) + (t + (concat "#" group))))) + (push group groups))))) (nreverse groups))) (defun nnimap-get-responses (sequences) @@ -1319,7 +1358,7 @@ If LIMIT, first try to limit the search to the N last articles." (dolist (group groups) (setf (nnimap-examined nnimap-object) group) (push (list (nnimap-send-command "EXAMINE %S" - (utf7-encode group t)) + (nnimap-group-to-imap group)) group) sequences)) (nnimap-wait-for-response (caar sequences)) @@ -1391,7 +1430,7 @@ If LIMIT, first try to limit the search to the N last articles." unexist) (push (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" - (utf7-encode group t) + (nnimap-group-to-imap group) (nnimap-quirk "QRESYNC") uidvalidity modseq) 'qresync @@ -1413,7 +1452,7 @@ If LIMIT, first try to limit the search to the N last articles." (cl-incf (nnimap-initial-resync nnimap-object)) (setq start 1)) (push (list (nnimap-send-command "%s %S" command - (utf7-encode group t)) + (nnimap-group-to-imap group)) (nnimap-send-command "UID FETCH %d:* FLAGS" start) start group command) sequences)))) @@ -1847,7 +1886,7 @@ Return the server's response to the SELECT or EXAMINE command." (if read-only "EXAMINE" "SELECT") - (utf7-encode group t)))) + (nnimap-group-to-imap group)))) (when (car result) (setf (nnimap-group nnimap-object) group (nnimap-select-result nnimap-object) result) @@ -2105,7 +2144,7 @@ Return the server's response to the SELECT or EXAMINE command." (dolist (spec specs) (when (and (not (member (car spec) groups)) (not (eq (car spec) 'junk))) - (nnimap-command "CREATE %S" (utf7-encode (car spec) t)))) + (nnimap-command "CREATE %S" (nnimap-group-to-imap (car spec))))) ;; Then copy over all the messages. (erase-buffer) (dolist (spec specs) @@ -2121,7 +2160,7 @@ Return the server's response to the SELECT or EXAMINE command." "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges ranges) - (utf7-encode group t)) + (nnimap-group-to-imap group)) ranges) sequences))))) ;; Wait for the last COPY response... -- 2.11.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 07:29:00 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 11:29:00 +0000 Received: from localhost ([127.0.0.1]:53121 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhZ1Q-0005JU-IE for submit@debbugs.gnu.org; Mon, 23 Jul 2018 07:29:00 -0400 Received: from mail-ed1-f68.google.com ([209.85.208.68]:35961) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhZ1P-0005JG-38 for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 07:28:59 -0400 Received: by mail-ed1-f68.google.com with SMTP id k15-v6so644884edr.3 for <21057@debbugs.gnu.org>; Mon, 23 Jul 2018 04:28:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:mail-copies-to:gmane-reply-to-list :date:in-reply-to:message-id:mime-version:content-transfer-encoding; bh=7peB/KcIbiBjMqZgTm0cS9QedNqR6qjPxRG8FtD5mGc=; b=P1FeOhhLLXl3LbLX6DqGjPogwyfplqy1GBUfZXkV8iAlzhsuFNKZmigWifUYnpsYGv 8YE5YBxfYxmxLuixNqSE+iniQHDw70itSayHDkmaGHNPcRfIaTo8pl7/hNUbrGY6EqNC zymzYchGnWIJB9KyGfaRjqUyYlXaHjhMR0xpofKx+TBwYeaUw9sxmOQnWZjSiqpNJlOt kgOGOuwtzqdEpXZ8valdXMeNMQcj4ibk9iVtPHUB2IC2i8Pp160gBdvJVYpy7PfnNh8T RALg5pzdIifzhkWh/Uc831G53cpRcm+AWMcuQbkjCEFg2/frb6rxWSoLOk2i30RtGbQ2 +Y1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:mail-copies-to :gmane-reply-to-list:date:in-reply-to:message-id:mime-version :content-transfer-encoding; bh=7peB/KcIbiBjMqZgTm0cS9QedNqR6qjPxRG8FtD5mGc=; b=WvhhQvlbJ3qQjoOB2zkPj2LMgyk74staPZ27fdFzAttvEow+Ab58TIyOcOlwq21LlX EY+KBPUnuPVxCdYcaZ4RKWCr42xSTtk0i90JgPRqdQUPNejXmgeuFFECqrg34LnNgRho vEjODLoSllWVAQiB/erEtbzonkytwgmSnVu+9NzCIx806ew/b8CYMwBi5kp4J7aWYaIK +UI02/nM3+4BtFNquq7VoTqAw6EOl+PBF/xA6b58s5AAykLWTOIINvwTc8kVOndeV4Zv eTKYxZIr++ZwLrx+83Z0iwbAP9gysQ108zjThfWpqe6QjeGNRnwlXuUT32AQcJWc19iw H9fw== X-Gm-Message-State: AOUpUlGC77adkFEI41fLUawwi4wmPMkA/DHrgckCW+f/gcI1rJEV2Ioz 2eXw/DhCWEQsW51/kqizKy4UYKUsj04= X-Google-Smtp-Source: AAOMgpfZivPVXW7yW90pC38xlbbJkk1G1PL2f/pKd96POdrKIURSzOap42f8mE5aqlBpucmprX0YdQ== X-Received: by 2002:a50:9135:: with SMTP id e50-v6mr13919098eda.191.1532345332722; Mon, 23 Jul 2018 04:28:52 -0700 (PDT) Received: from rpluim-ubuntu ([149.5.228.1]) by smtp.gmail.com with ESMTPSA id n17-v6sm7089321edq.10.2018.07.23.04.28.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 23 Jul 2018 04:28:51 -0700 (PDT) From: Robert Pluim To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> <87o9eyjn0t.fsf@thinkpad.rath.org> X-Debbugs-No-Ack: yes Mail-Copies-To: never Gmane-Reply-To-List: yes Date: Mon, 23 Jul 2018 13:28:50 +0200 In-Reply-To: <87o9eyjn0t.fsf@thinkpad.rath.org> (Nikolaus Rath's message of "Mon, 23 Jul 2018 10:53:54 +0100") Message-ID: <87r2jukx71.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , Lars Ingebrigtsen , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Nikolaus Rath writes: Nitpicks below. > Hi, > > Reworked patch is attached. > > I tested with and and without nnimap-use-namespaces on Emacs 25.1.1. > > Best, > Nikolaus > > --=20 > GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F > > =C2=BBTime flies like an arrow, fruit flies like a Banana.= =C2=AB > > From ff88c4969617ede5742e039136159fe3650ac693 Mon Sep 17 00:00:00 2001 > From: Nikolaus Rath > Date: Mon, 23 Jul 2018 10:21:46 +0100 > Subject: [PATCH] Make nnimap support IMAP namespaces > > * lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduce new > server variable. > (nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group > names to Gnus group name by stripping / prefixing personal > namespace prefix. > (nnimap-open-connection-1): Ask server for namespaces and store them. > > * lisp/gnus/nnimap.el (nnimap-request-group-scan) > (nnimap-request-create-group, nnimap-request-delete-group) > (nnimap-request-rename-group, nnimap-request-move-article) > (nnimap-process-expiry-targets) > (nnimap-request-update-group-status) > (nnimap-request-accept-article, nnimap-request-list) > (nnimap-retrieve-group-data-early, nnimap-change-group) > (nnimap-split-incoming-mail): Use nnimap-group-to-imap. > (nnimap-group-to-imap): New function to map Gnus group names to > IMAP folder names. > --- > doc/misc/gnus.texi | 6 ++++ > etc/NEWS | 5 +++ > lisp/gnus/nnimap.el | 93 +++++++++++++++++++++++++++++++++++++----------= ------ > 3 files changed, 77 insertions(+), 27 deletions(-) > > diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi > index 6793ed..cd97cf 100644 > --- a/doc/misc/gnus.texi > +++ b/doc/misc/gnus.texi > @@ -14320,6 +14320,12 @@ fetch all textual parts, while leaving the rest = on the server. > If non-@code{nil}, record all @acronym{IMAP} commands in the > @samp{"*imap log*"} buffer. >=20=20 > +@item nnimap-use-namespaces > +If non-@code{nil}, omit the IMAP namespace prefix in nnimap group > +names. If your IMAP mailboxes are called something like @samp{INBOX} > +and @samp{INBOX.Lists.emacs}, but you'd like the nnimap group names to > +be @samp{INBOX} and @samp{Lists.emacs}, you should enable this option. > + > @end table > Does this also work for secondary servers? I imagine it does. >=20=20 > diff --git a/etc/NEWS b/etc/NEWS > index fc2a5..57b51 100644 > --- a/etc/NEWS > +++ b/etc/NEWS > @@ -46,6 +46,11 @@ option --enable-check-lisp-object-type is therefore no= longer as > useful and so is no longer enabled by default in developer builds, > to reduce differences between developer and production builds. >=20=20 > +** Gnus > + > ++++ > +*** The nnimap backend now has support for IMAP namespaces. > + This should mention the 'nnimap-use-namespaces' variable. > > * Startup Changes in Emacs 27.1 >=20=20 > diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el > index 3b397..efcb68 100644 > --- a/lisp/gnus/nnimap.el > +++ b/lisp/gnus/nnimap.el > @@ -55,6 +55,13 @@ > If nnimap-stream is `ssl', this will default to `imaps'. If not, > it will default to `imap'.") >=20=20 > +(defvoo nnimap-use-namespaces nil > + "Whether to use IMAP namespaces. > +If in Gnus your folder names in all start with (e.g.) `INBOX', > +you probably want to set this to t. The effects of this are > +purely cosmetical, but changing this variable will affect the cosmetical=E2=87=92cosmetic Thanks Robert From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 12:48:04 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 16:48:04 +0000 Received: from localhost ([127.0.0.1]:54279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhe0A-0000CF-HG for submit@debbugs.gnu.org; Mon, 23 Jul 2018 12:48:04 -0400 Received: from mail.ericabrahamsen.net ([50.56.99.223]:59995) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhe09-0000Br-Co for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 12:48:01 -0400 Received: from localhost (97-113-227-87.tukw.qwest.net [97.113.227.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: eric@ericabrahamsen.net) by mail.ericabrahamsen.net (Postfix) with ESMTPSA id 8CD65C451F; Mon, 23 Jul 2018 16:48:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ericabrahamsen.net; s=mail; t=1532364480; bh=uTeOWU/eKGj9pedrk+M5kUYAKdFZxffEiYwJEQxufaw=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=fV4kRIc9AUHxzC9vp4BPzJ7hXoAQ9x47l89v1hdm6eNXISGLb+3BBpAsDXBRUDGMm Dl7YlTJnkSEXIQLwbYPfn5/oPDmtr0sIpvOqtXF/Q/wHz+iBVuWexyV97jwk3l9drm jgy9+nA3o67bz8SEX94N7fOlmQwXZgWe4+1QQR2Q= From: Eric Abrahamsen To: Nikolaus Rath Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> <87o9eyjn0t.fsf@thinkpad.rath.org> Date: Mon, 23 Jul 2018 09:47:59 -0700 In-Reply-To: <87o9eyjn0t.fsf@thinkpad.rath.org> (Nikolaus Rath's message of "Mon, 23 Jul 2018 10:53:54 +0100") Message-ID: <87tvoprj9c.fsf@ericabrahamsen.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 21057 Cc: Andreas Schwab , Lars Ingebrigtsen , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) On 07/23/18 10:53 AM, Nikolaus Rath wrote: > Hi, > > Reworked patch is attached. > > I tested with and and without nnimap-use-namespaces on Emacs 25.1.1. Works for me on master, with nnimap-use-namespaces nil. From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 23 14:00:11 2018 Received: (at 21057) by debbugs.gnu.org; 23 Jul 2018 18:00:11 +0000 Received: from localhost ([127.0.0.1]:54310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhf7z-0001qM-0Y for submit@debbugs.gnu.org; Mon, 23 Jul 2018 14:00:11 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:41993) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fhf7w-0001pO-W4 for 21057@debbugs.gnu.org; Mon, 23 Jul 2018 14:00:09 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 9F2AA21D0C; Mon, 23 Jul 2018 14:00:08 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Mon, 23 Jul 2018 14:00:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=MCmIbLdEJmC0IzDnW9bifrBlQ8d5T mUYhZvcm3R0e0A=; b=leQhpyNVSyUvJswp/suQjYCsy+z+XfgumdB/Jm6Kv0BHR Y1SJDuQf9FfdZzPvJ1cu73mSNND6VgxydkauSC1WWUSBT5EL1FTVdSHTuFdc/hHb CcHszii6dfVMbDxNvqd76T0RT5KrF1XRukLdb5S6h8KGL6bTOQ2Mb7NQyyVX2Lwx 5eS6Q60G3adnFwXAjkE/b2stWPBjc/yhgU08a+KX5LaM7yobqvUPjsHPUsvoGJ3W CnjGjrk8DvJasz2p+ChjrGmJCL5whpwzVS0rnQVRrSoTFFR2kqfL6Ood1G7a4Vnu WB24z1ox2AyVZQ5mk12r8sWhtJQZUXIjg4jyrrHlw== X-ME-Proxy: X-ME-Sender: Received: from ebox.rath.org (ebox.rath.org [185.3.94.194]) by mail.messagingengine.com (Postfix) with ESMTPA id 8D1B2E454E; Mon, 23 Jul 2018 14:00:07 -0400 (EDT) Received: from vostro.rath.org (vostro [192.168.12.4]) by ebox.rath.org (Postfix) with ESMTPS id 785382F; Mon, 23 Jul 2018 18:00:06 +0000 (UTC) Received: by vostro.rath.org (Postfix, from userid 1000) id 40053E030A; Mon, 23 Jul 2018 19:00:06 +0100 (BST) From: Nikolaus Rath To: Lars Ingebrigtsen Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> <87o9eyjn0t.fsf@thinkpad.rath.org> <87r2jukx71.fsf@gmail.com> Date: Mon, 23 Jul 2018 19:00:06 +0100 In-Reply-To: <87r2jukx71.fsf@gmail.com> (Robert Pluim's message of "Mon, 23 Jul 2018 13:28:50 +0200") Message-ID: <871sbtj0ih.fsf@vostro.rath.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain On Jul 23 2018, Robert Pluim wrote: > Nikolaus Rath writes: > > Nitpicks below. Fixed, updated patch attached. > Does this also work for secondary servers? I imagine it does. Yes, it should. Best, -Nikolaus --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Make-nnimap-support-IMAP-namespaces.patch >From 90b4930ec9004caaa39615edb1bd271bc14aeecb Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Mon, 23 Jul 2018 10:21:46 +0100 Subject: [PATCH] Make nnimap support IMAP namespaces * lisp/gnus/nnimap.el (nnimap-use-namespaces): Introduce new server variable. (nnimap-group-to-imap, nnimap-get-groups): Transform IMAP group names to Gnus group name by stripping / prefixing personal namespace prefix. (nnimap-open-connection-1): Ask server for namespaces and store them. * lisp/gnus/nnimap.el (nnimap-request-group-scan) (nnimap-request-create-group, nnimap-request-delete-group) (nnimap-request-rename-group, nnimap-request-move-article) (nnimap-process-expiry-targets) (nnimap-request-update-group-status) (nnimap-request-accept-article, nnimap-request-list) (nnimap-retrieve-group-data-early, nnimap-change-group) (nnimap-split-incoming-mail): Use nnimap-group-to-imap. (nnimap-group-to-imap): New function to map Gnus group names to IMAP folder names. --- doc/misc/gnus.texi | 6 ++++ etc/NEWS | 7 ++++ lisp/gnus/nnimap.el | 93 +++++++++++++++++++++++++++++++++++++---------------- 3 files changed, 79 insertions(+), 27 deletions(-) diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 6793ed..cd97cf 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -14320,6 +14320,12 @@ Customizing the IMAP Connection If non-@code{nil}, record all @acronym{IMAP} commands in the @samp{"*imap log*"} buffer. +@item nnimap-use-namespaces +If non-@code{nil}, omit the IMAP namespace prefix in nnimap group +names. If your IMAP mailboxes are called something like @samp{INBOX} +and @samp{INBOX.Lists.emacs}, but you'd like the nnimap group names to +be @samp{INBOX} and @samp{Lists.emacs}, you should enable this option. + @end table diff --git a/etc/NEWS b/etc/NEWS index fc2a5..04b4a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -46,6 +46,13 @@ option --enable-check-lisp-object-type is therefore no longer as useful and so is no longer enabled by default in developer builds, to reduce differences between developer and production builds. +** Gnus + ++++ +*** The nnimap backend now has support for IMAP namespaces. +This feature can be enabled by setting the new 'nnimap-use-namespaces' +server variable to non-nil. + * Startup Changes in Emacs 27.1 diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 3b397..1736f8 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -55,6 +55,13 @@ nnimap-server-port If nnimap-stream is `ssl', this will default to `imaps'. If not, it will default to `imap'.") +(defvoo nnimap-use-namespaces nil + "Whether to use IMAP namespaces. +If in Gnus your folder names in all start with (e.g.) `INBOX', +you probably want to set this to t. The effects of this are +purely cosmetic, but changing this variable will affect the +names of your nnimap groups. ") + (defvoo nnimap-stream 'undecided "How nnimap talks to the IMAP server. The value should be either `undecided', `ssl' or `tls', @@ -110,6 +117,8 @@ nnimap-connection-alist (defvoo nnimap-current-infos nil) +(defvoo nnimap-namespace nil) + (defun nnimap-decode-gnus-group (group) (decode-coding-string group 'utf-8)) @@ -166,6 +175,19 @@ nnimap-quirks (defvar nnimap-inhibit-logging nil) +(defun nnimap-group-to-imap (group) + "Convert Gnus group name to IMAP mailbox name." + (let* ((inbox (if nnimap-namespace + (substring nnimap-namespace 0 -1) nil))) + (utf7-encode + (cond ((or (not inbox) + (string-equal group inbox)) + group) + ((string-prefix-p "#" group) + (substring group 1)) + (t + (concat nnimap-namespace group))) t))) + (defun nnimap-buffer () (nnimap-find-process-buffer nntp-server-buffer)) @@ -442,7 +464,8 @@ nnimap-open-connection-1 (props (cdr stream-list)) (greeting (plist-get props :greeting)) (capabilities (plist-get props :capabilities)) - (stream-type (plist-get props :type))) + (stream-type (plist-get props :type)) + (server (nnoo-current-server 'nnimap))) (when (and stream (not (memq (process-status stream) '(open run)))) (setq stream nil)) @@ -475,9 +498,7 @@ nnimap-open-connection-1 ;; the virtual server name and the address (nnimap-credentials (gnus-delete-duplicates - (list - (nnoo-current-server 'nnimap) - nnimap-address)) + (list server nnimap-address)) ports nnimap-user)))) (setq nnimap-object nil) @@ -496,8 +517,17 @@ nnimap-open-connection-1 (dolist (response (cddr (nnimap-command "CAPABILITY"))) (when (string= "CAPABILITY" (upcase (car response))) (setf (nnimap-capabilities nnimap-object) - (mapcar #'upcase (cdr response)))))) - ;; If the login failed, then forget the credentials + (mapcar #'upcase (cdr response))))) + (when (and nnimap-use-namespaces + (nnimap-capability "NAMESPACE")) + (erase-buffer) + (nnimap-wait-for-response (nnimap-send-command "NAMESPACE")) + (let ((response (nnimap-last-response-string))) + (when (string-match + "^\\*\\W+NAMESPACE\\W+((\"\\([^\"\n]+\\)\"\\W+\"\\(.\\)\"))\\W+" + response) + (setq nnimap-namespace (match-string 1 response)))))) + ;; If the login failed, then forget the credentials ;; that are now possibly cached. (dolist (host (list (nnoo-current-server 'nnimap) nnimap-address)) @@ -837,7 +867,7 @@ nnimap-request-group-scan (with-current-buffer (nnimap-buffer) (erase-buffer) (let ((group-sequence - (nnimap-send-command "SELECT %S" (utf7-encode group t))) + (nnimap-send-command "SELECT %S" (nnimap-group-to-imap group))) (flag-sequence (nnimap-send-command "UID FETCH 1:* FLAGS"))) (setf (nnimap-group nnimap-object) group) @@ -870,13 +900,13 @@ nnimap-request-create-group (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "CREATE %S" (utf7-encode group t)))))) + (car (nnimap-command "CREATE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-delete-group (group &optional _force server) (setq group (nnimap-decode-gnus-group group)) (when (nnimap-change-group nil server) (with-current-buffer (nnimap-buffer) - (car (nnimap-command "DELETE %S" (utf7-encode group t)))))) + (car (nnimap-command "DELETE %S" (nnimap-group-to-imap group)))))) (deffoo nnimap-request-rename-group (group new-name &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -884,7 +914,7 @@ nnimap-request-rename-group (with-current-buffer (nnimap-buffer) (nnimap-unselect-group) (car (nnimap-command "RENAME %S %S" - (utf7-encode group t) (utf7-encode new-name t)))))) + (nnimap-group-to-imap group) (nnimap-group-to-imap new-name)))))) (defun nnimap-unselect-group () ;; Make sure we don't have this group open read/write by asking @@ -944,7 +974,7 @@ nnimap-request-move-article "UID COPY %d %S")) (result (nnimap-command command article - (utf7-encode internal-move-group t)))) + (nnimap-group-to-imap internal-move-group)))) (when (and (car result) (not can-move)) (nnimap-delete-article article)) (cons internal-move-group @@ -1011,7 +1041,7 @@ nnimap-process-expiry-targets "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges (gnus-compress-sequence articles)) - (utf7-encode (gnus-group-real-name nnmail-expiry-target) t)) + (nnimap-group-to-imap (gnus-group-real-name nnmail-expiry-target))) (set (if can-move 'deleted-articles 'articles-to-delete) articles)))) t) (t @@ -1136,7 +1166,7 @@ nnimap-request-update-group-status (unsubscribe "UNSUBSCRIBE"))))) (when command (with-current-buffer (nnimap-buffer) - (nnimap-command "%s %S" (cadr command) (utf7-encode group t))))))) + (nnimap-command "%s %S" (cadr command) (nnimap-group-to-imap group))))))) (deffoo nnimap-request-set-mark (group actions &optional server) (setq group (nnimap-decode-gnus-group group)) @@ -1191,7 +1221,7 @@ nnimap-request-accept-article (nnimap-unselect-group)) (erase-buffer) (setq sequence (nnimap-send-command - "APPEND %S {%d}" (utf7-encode group t) + "APPEND %S {%d}" (nnimap-group-to-imap group) (length message))) (unless nnimap-streaming (nnimap-wait-for-connection "^[+]")) @@ -1271,8 +1301,12 @@ nnimap-add-cr (defun nnimap-get-groups () (erase-buffer) - (let ((sequence (nnimap-send-command "LIST \"\" \"*\"")) - groups) + (let* ((sequence (nnimap-send-command "LIST \"\" \"*\"")) + (prefix nnimap-namespace) + (prefix-len (if prefix (length prefix) nil)) + (inbox (if prefix + (substring prefix 0 -1) nil)) + groups) (nnimap-wait-for-response sequence) (subst-char-in-region (point-min) (point-max) ?\\ ?% t) @@ -1289,11 +1323,16 @@ nnimap-get-groups (skip-chars-backward " \r\"") (point))))) (unless (member '%NoSelect flags) - (push (utf7-decode (if (stringp group) - group - (format "%s" group)) - t) - groups)))) + (let* ((group (utf7-decode (if (stringp group) group + (format "%s" group)) t)) + (group (cond ((or (not prefix) + (equal inbox group)) + group) + ((string-prefix-p prefix group) + (substring group prefix-len)) + (t + (concat "#" group))))) + (push group groups))))) (nreverse groups))) (defun nnimap-get-responses (sequences) @@ -1319,7 +1358,7 @@ nnimap-request-list (dolist (group groups) (setf (nnimap-examined nnimap-object) group) (push (list (nnimap-send-command "EXAMINE %S" - (utf7-encode group t)) + (nnimap-group-to-imap group)) group) sequences)) (nnimap-wait-for-response (caar sequences)) @@ -1391,7 +1430,7 @@ nnimap-retrieve-group-data-early unexist) (push (list (nnimap-send-command "EXAMINE %S (%s (%s %s))" - (utf7-encode group t) + (nnimap-group-to-imap group) (nnimap-quirk "QRESYNC") uidvalidity modseq) 'qresync @@ -1413,7 +1452,7 @@ nnimap-retrieve-group-data-early (cl-incf (nnimap-initial-resync nnimap-object)) (setq start 1)) (push (list (nnimap-send-command "%s %S" command - (utf7-encode group t)) + (nnimap-group-to-imap group)) (nnimap-send-command "UID FETCH %d:* FLAGS" start) start group command) sequences)))) @@ -1847,7 +1886,7 @@ nnimap-change-group (if read-only "EXAMINE" "SELECT") - (utf7-encode group t)))) + (nnimap-group-to-imap group)))) (when (car result) (setf (nnimap-group nnimap-object) group (nnimap-select-result nnimap-object) result) @@ -2105,7 +2144,7 @@ nnimap-split-incoming-mail (dolist (spec specs) (when (and (not (member (car spec) groups)) (not (eq (car spec) 'junk))) - (nnimap-command "CREATE %S" (utf7-encode (car spec) t)))) + (nnimap-command "CREATE %S" (nnimap-group-to-imap (car spec))))) ;; Then copy over all the messages. (erase-buffer) (dolist (spec specs) @@ -2121,7 +2160,7 @@ nnimap-split-incoming-mail "UID MOVE %s %S" "UID COPY %s %S") (nnimap-article-ranges ranges) - (utf7-encode group t)) + (nnimap-group-to-imap group)) ranges) sequences))))) ;; Wait for the last COPY response... -- 2.11.0 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jul 27 03:55:01 2018 Received: (at 21057) by debbugs.gnu.org; 27 Jul 2018 07:55:01 +0000 Received: from localhost ([127.0.0.1]:59527 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fixaW-0001m8-21 for submit@debbugs.gnu.org; Fri, 27 Jul 2018 03:55:01 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:48221) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fixaU-0001m0-49 for 21057@debbugs.gnu.org; Fri, 27 Jul 2018 03:54:58 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id D012F574; Fri, 27 Jul 2018 03:54:56 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Fri, 27 Jul 2018 03:54:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=XEGaWP 5QkvD9F3fa84vpXux96lvDeMc0NmOPZrJfEjE=; b=WWsDfr4fIQc4TfjbkYrGGV ZgCVq0Xj7XKt7/12FSBN0ZFtO60m0LGL3xwN3QhKa1iVMlCqMeYLIKgZA/sytBin amWAe6qAuhke+hOjraTcy96koUroHXAO6aklt/1FhUYsRLDLnKzqKxSn864zAVzm E9VWZnesqlgDktU+Cy4NVrO2vYny/yWIV0zj5hlt9LJNvXuMAQtENgIaI8zdwXOu 9bLqTlPqw8fOUZlk07ns5VmtHEeI4HtTfjdeMGHF9b2dQ2dI0xmtFaVrMOb4fvGP 6ka+7nuCx6OhwkfBBvReCMKvcqwJBxaNP9DMUrKYA6N+3gConoMDxmXsWjQTcyCQ == X-ME-Proxy: X-ME-Sender: Received: from ebox.rath.org (ebox.rath.org [185.3.94.194]) by mail.messagingengine.com (Postfix) with ESMTPA id B527910261; Fri, 27 Jul 2018 03:54:55 -0400 (EDT) Received: from thinkpad.rath.org (thinkpad [192.168.12.2]) by ebox.rath.org (Postfix) with ESMTPS id 0B7F227; Fri, 27 Jul 2018 07:54:55 +0000 (UTC) Received: by thinkpad.rath.org (Postfix, from userid 1000) id F2423BFC20; Fri, 27 Jul 2018 08:54:54 +0100 (BST) From: Nikolaus Rath To: Lars Ingebrigtsen Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> <87o9eyjn0t.fsf@thinkpad.rath.org> <87r2jukx71.fsf@gmail.com> <871sbtj0ih.fsf@vostro.rath.org> Date: Fri, 27 Jul 2018 08:54:54 +0100 In-Reply-To: <871sbtj0ih.fsf@vostro.rath.org> (Nikolaus Rath's message of "Mon, 23 Jul 2018 19:00:06 +0100") Message-ID: <87in51i04x.fsf@thinkpad.rath.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) *ping* Can we re-apply? Sounds like the issue is fixed. Best, Nikolaus --=20 GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2= =AB From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 05 05:54:31 2018 Received: (at 21057) by debbugs.gnu.org; 5 Aug 2018 09:54:31 +0000 Received: from localhost ([127.0.0.1]:41298 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fmFk6-0002Bv-Vh for submit@debbugs.gnu.org; Sun, 05 Aug 2018 05:54:31 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:58279) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fmFk5-0002Bn-CC for 21057@debbugs.gnu.org; Sun, 05 Aug 2018 05:54:29 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id D253B21221; Sun, 5 Aug 2018 05:54:28 -0400 (EDT) Received: from web2 ([10.202.2.212]) by compute1.internal (MEProxy); Sun, 05 Aug 2018 05:54:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=Cz1aMc VOm06j4qRJRitbBSNGZerQdLLUEHzw3tOSugc=; b=TnWcAXjOtcLTHmyJ70lqnA 41OQ89g7EaLHUZ3h0NW0zU3QpDQ/0TNOH+OCo3wL47CuDyhsNHXzRgid4qGqGD+K isT0/7+5KdXt1S+8b6Sr+s3R6ClV+A5GRHUgyK4zCistvlq2OOMdyf557rcDsBIO YBSbqEXy7mUcJAFQNM8P6kMpyujh81Hz8vCzYD7Pmw1OV7vIOCF7Oi9PkObqq42s j0mARJbmYnY4hW4wgpt0mURCjaY6cW4wyU682D9rvQS1rQZgi+StHyF0KfQbu4P0 PnP1iOWptH/xgQElBBXaW8SS5mTNIsnzLOoMBRRQ2b1gU1VCEfCMZAhJFv/rgSdQ == X-ME-Proxy: X-ME-Sender: Received: by mailuser.nyi.internal (Postfix, from userid 99) id 0E4C9621BF; Sun, 5 Aug 2018 05:54:28 -0400 (EDT) Message-Id: <1533462867.2514539.1463878416.1DC46023@webmail.messagingengine.com> From: Nikolaus Rath To: Lars Ingebrigtsen MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Mailer: MessagingEngine.com Webmail Interface - ajax-2be8cd1b In-Reply-To: <87in51i04x.fsf@thinkpad.rath.org> Date: Sun, 05 Aug 2018 10:54:27 +0100 Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> <87o9eyjn0t.fsf@thinkpad.rath.org> <87r2jukx71.fsf@gmail.com> <871sbtj0ih.fsf@vostro.rath.org> <87in51i04x.fsf@thinkpad.rath.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 21057 Cc: Eric Abrahamsen , Andreas Schwab , 21057@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Friendly ping.. is there anything that blocks applying this? Best, -Nikolaus -- GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = =C2=BBTime flies like an arrow, fruit flies like a Banana.=C2=AB From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 11 03:49:26 2018 Received: (at 21057-done) by debbugs.gnu.org; 11 Aug 2018 07:49:26 +0000 Received: from localhost ([127.0.0.1]:47767 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1foOeL-0003to-PF for submit@debbugs.gnu.org; Sat, 11 Aug 2018 03:49:25 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55521) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1foOeJ-0003tb-O3 for 21057-done@debbugs.gnu.org; Sat, 11 Aug 2018 03:49:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1foOeA-0006Nu-HQ for 21057-done@debbugs.gnu.org; Sat, 11 Aug 2018 03:49:18 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:35503) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1foOeA-0006Nk-Dn; Sat, 11 Aug 2018 03:49:14 -0400 Received: from [176.228.60.248] (port=4772 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1foOe9-0003Zs-Rh; Sat, 11 Aug 2018 03:49:14 -0400 Date: Sat, 11 Aug 2018 10:49:16 +0300 Message-Id: <83ftzlmjgj.fsf@gnu.org> From: Eli Zaretskii To: Nikolaus Rath In-reply-to: <1533462867.2514539.1463878416.1DC46023@webmail.messagingengine.com> (message from Nikolaus Rath on Sun, 05 Aug 2018 10:54:27 +0100) Subject: Re: bug#21057: [PATCH] nnimap.el: add support for IMAP namespaces References: <87efrlfa20.fsf@thinkpad.rath.org> <87a829f9pc.fsf@thinkpad.rath.org> <1504800077.365137.1098530944.678C4105@webmail.messagingengine.com> <87k212zetg.fsf@mouse.gnus.org> <877ewxoi32.fsf@vostro.rath.org> <87r2rfj2r7.fsf@mouse.gnus.org> <1527766712.3634038.1391649040.3CF55CA8@webmail.messagingengine.com> <87in56h4o7.fsf@ericabrahamsen.net> <8736wazaa5.fsf@thinkpad.rath.org> <96381CD8-3F69-4C9C-9252-CB351CD47B03@rath.org> <87o9eyjn0t.fsf@thinkpad.rath.org> <87r2jukx71.fsf@gmail.com> <871sbtj0ih.fsf@vostro.rath.org> <87in51i04x.fsf@thinkpad.rath.org> <1533462867.2514539.1463878416.1DC46023@webmail.messagingengine.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 21057-done Cc: eric@ericabrahamsen.net, schwab@suse.de, larsi@gnus.org, 21057-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Nikolaus Rath > Date: Sun, 05 Aug 2018 10:54:27 +0100 > Cc: Eric Abrahamsen , Andreas Schwab , > 21057@debbugs.gnu.org > > Friendly ping.. is there anything that blocks applying this? Pushed to the master branch. In the future, please observe 2 spaces between sentences in documentation and comments, and also mention the bug number in the commit log message. From unknown Mon Jun 23 07:50:07 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 08 Sep 2018 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator