From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id mLeIE5jba2MsjgAAbAwnHQ (envelope-from ) for ; Wed, 09 Nov 2022 17:55:52 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id KLiKEpjba2O2swAAG6o9tA (envelope-from ) for ; Wed, 09 Nov 2022 17:55:52 +0100 Received: from mail.notmuchmail.org (yantan.tethera.net [IPv6:2a01:4f9:c011:7a79::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A37F6163DE for ; Wed, 9 Nov 2022 17:55:51 +0100 (CET) Received: from yantan.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id 3E70C5F9A8; Wed, 9 Nov 2022 16:55:49 +0000 (UTC) Received: from che.mayfirst.org (unknown [162.247.75.117]) by mail.notmuchmail.org (Postfix) with ESMTPS id 48CB95F35E for ; Wed, 9 Nov 2022 16:55:47 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1668012944; h=from : to : subject : in-reply-to : references : date : message-id : mime-version : content-type : from; bh=UfUpTuTeLDV3DI5auwoQOc1O7bRzZQg+WVzMxzY02BY=; b=NmSjnN2eatEu2lRiv8HJOi6akPzqJfZ2ufhz7fpvhuEWGcDrcApTHgcPbddQNSDVf5IlX Qu8LdCcOLwBfepeAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1668012944; h=from : to : subject : in-reply-to : references : date : message-id : mime-version : content-type : from; bh=UfUpTuTeLDV3DI5auwoQOc1O7bRzZQg+WVzMxzY02BY=; b=wKFlqfnkFVqsCVbEfD74CXvcy0MVsMNCZhPCigfE0vP76PUy4szdaWWpqDuQ84BPsEZQp ugNaoRdS2p2osU8MKHy+glfmZQGqaplYtZoLFRCVNSqJU0tNmwcwZRpIlPRRuYMjQKNKzKQ rbwh56Tk53bbCjYAftTykjFZxSGbKgZ9XS5QKl0hr1GU1yQuOa5/ln7Qx9kOZcdiaTXXvC8 TAztnQQm5RXA1Ze3GeFmBktg5dKVcTz2ncAk0LaO1LAkO+/nt4L59Z3ENQa1mzZBQaHakOd v7ljZr4KTbpivXj/747VoqxuNcyazZqzhRPNoTQQZKYKMOtO2GJJU1VnplGQ== Received: from fifthhorseman.net (lair.fifthhorseman.net [108.58.6.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id A9921F9AD for ; Wed, 9 Nov 2022 11:55:44 -0500 (EST) Received: by fifthhorseman.net (Postfix, from userid 1000) id DAF462044A; Wed, 9 Nov 2022 11:55:37 -0500 (EST) From: Daniel Kahn Gillmor To: notmuch@notmuchmail.org Subject: Re: Display duplicate messages in emacs front-end In-Reply-To: <878rkk89i1.fsf@fifthhorseman.net> References: <20220701214548.461943-1-david@tethera.net> <878rkk89i1.fsf@fifthhorseman.net> Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= mDMEX+i03xYJKwYBBAHaRw8BAQdACA4xvL/xI5dHedcnkfViyq84doe8zFRid9jW7CC9XBiI0QQf FgoAgwWCX+i03wWJBZ+mAAMLCQcJEOCS6zpcoQ26RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl cXVvaWEtcGdwLm9yZ/tr8E9NA10HvcAVlSxnox6z62KXCInWjZaiBIlgX6O5AxUKCAKbAQIeARYh BMKfigwB81402BaqXOCS6zpcoQ26AADZHQD/Zx9nc3N2kj13AUsKMr/7zekBtgfSIGB3hRCU74Su G44A/34Yp6IAkndewLxb1WdRSokycnaCVyrk0nb4imeAYyoPtBc8ZGtnQGZpZnRoaG9yc2VtYW4u bmV0PojRBBMWCgCDBYJf6LTfBYkFn6YAAwsJBwkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3Rh dGlvbnMuc2VxdW9pYS1wZ3Aub3JnL0Gwxvypz2tu1IPG+yu1zPjkiZwpscsitwrVvzN3bbADFQoI ApsBAh4BFiEEwp+KDAHzXjTYFqpc4JLrOlyhDboAAPkXAP0Z29z7jW+YzLzPTQML4EQLMbkHOfU4 +s+ki81Czt0WqgD/SJ8RyrqDCtEP8+E4ZSR01ysKqh+MUAsTaJlzZjehiQ24MwRf6LTfFgkrBgEE AdpHDwEBB0DkKHOW2kmqfAK461+acQ49gc2Z6VoXMChRqobGP0ubb4kBiAQYFgoBOgWCX+i03wWJ BZ+mAAkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnfvo+ nHoxDwaLaJD8XZuXiaqBNZtIGXIypF1udBBRoc0CmwICHgG+oAQZFgoAbwWCX+i03wkQPp1xc3He VlxHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnaheiqE7Pfi3Atb3GGTw+ jFcBGOaobgzEJrhEuFpXREEWIQQttUkcnfDcj0MoY88+nXFzcd5WXAAAvrsBAIJ5sBg8Udocv25N stN/zWOiYpnjjvOjVMLH4fV3pWE1AP9T6hzHz7hRnAA8d01vqoxOlQ3O6cb/kFYAjqx3oMXSBhYh BMKfigwB81402BaqXOCS6zpcoQ26AADX7gD/b83VObe14xrNP8xcltRrBZF5OE1rQSPkMNy+eWpk eCwA/1hxiS8ZxL5/elNjXiWuHXEvUGnRoVj745Vl48sZPVYMuDgEX+i03xIKKwYBBAGXVQEFAQEH QIGex1WZbH6xhUBve5mblScGYU+Y8QJOomXH+rr5tMsMAwEICYjJBBgWCgB7BYJf6LTfBYkFn6YA CRDgkus6XKENukcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcEAx9vTD3b J0SXkhvcRcCr6uIDJwic3KFKxkH1m4QW0QKbDAIeARYhBMKfigwB81402BaqXOCS6zpcoQ26AAAX mwD8CWmukxwskU82RZLMk5fm1wCgMB5z8dA50KLw3rgsCykBAKg1w/Y7XpBS3SlXEegIg1K1e6dR fRxL7Z37WZXoH8AH Date: Wed, 09 Nov 2022 11:55:36 -0500 Message-ID: <875yfo83uf.fsf@fifthhorseman.net> MIME-Version: 1.0 Message-ID-Hash: UHNLLAM3IJRE256G4343HNKG32FLAHZL X-Message-ID-Hash: UHNLLAM3IJRE256G4343HNKG32FLAHZL X-MailFrom: dkg@fifthhorseman.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.3 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: multipart/mixed; boundary="===============2492839699315140761==" X-Migadu-Flow: FLOW_IN X-Migadu-Country: DE ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1668012952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:list-id:list-help: list-owner:list-unsubscribe:list-subscribe:list-post:dkim-signature:autocrypt:autocrypt; bh=1RqJapi/LlUJ2i69CeJ/iItqTqt+WdtXVLIXAKZZbfA=; b=RMKaQsvIgP8Qg45R//YZzf+4leKWjclKZVwyUJXoS1FdoShdaOkTbHEv+fMX0KTuq8ghOO MWm9s83H8e/+7r0FlDfPVWkSXbGu64vWPvdAzLKIEPPHiu+ZmAfy31trOXy8at+GPK8eKT yRus3V+kG5UhjMwKOG0rk2EIxJv104MWuW0+NqZ/req8Z/AZsNUhr5UFg2tdPby6Av/HAJ Yphbm41QkoDzshQ6AYp1tBGTnWOsj8ROGtwdQYqMoHo7SCrs2+gZ9irASMwR3iN6SAFiRF /H6PXltH7dAXCWO0iMOSoQAa5A1b+6UCDialf6EfRh9mOO9qWB4nQUOShX3IVA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1668012952; a=rsa-sha256; cv=none; b=YRr1lgV7DrtXFQwqasC3b2YF0M1WPJrbgeDFJsMQGJwkJL8UiqkggZwxf7Zsj9xiyWkS5u ZvNv5coWCfmBlRNCTOUC7a6xBC6zZv8V+We9mQXFA3VPf42v6vrtX5OoDLsJsYXb/exW6E E4xPqxL9KrHjB1i5VkQlx2jnFeNDnEqpnGPWKz4xe/O/1A4yAr3CSj/Kr/62Td877DrsbQ 4HoPwakQdJgSpYgqI/OsILhGfQPCYFV/D0gUKi9qG/r+FjWIXv7i3S5GAMTucC/O1HnjLS ohyiiMwtNVF22dDO4Dw7Jd7AByorH4+1xzQHdHn4XvI8LbO/QA4yBbFgdMMA8g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=fifthhorseman.net header.s=2019 header.b=NmSjnN2e; dkim=fail ("body hash did not verify") header.d=fifthhorseman.net header.s=2019rsa header.b=wKFlqfnk; dmarc=fail reason="SPF not aligned (relaxed)" header.from=fifthhorseman.net (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2a01:4f9:c011:7a79::1 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Spam-Score: 5.91 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=fifthhorseman.net header.s=2019 header.b=NmSjnN2e; dkim=fail ("body hash did not verify") header.d=fifthhorseman.net header.s=2019rsa header.b=wKFlqfnk; dmarc=fail reason="SPF not aligned (relaxed)" header.from=fifthhorseman.net (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2a01:4f9:c011:7a79::1 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Queue-Id: A37F6163DE X-Spam-Score: 5.91 X-Migadu-Scanner: scn1.migadu.com X-TUID: 0aBBBe3gU9T8 --===============2492839699315140761== Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Wed 2022-11-09 09:53:26 -0500, Daniel Kahn Gillmor wrote: > The functionality here, switching between duplicates in the emacs > frontend, is great. I needed to use it today, because i had two copies > of an e-mail message, one with a valid signature and one with a damaged > signature. It Just Worked=E2=84=A2 to let me switch between the different > variants. Now that i'm playing with this feature specifically, it occurs to me that the primary use case is likely to be where there are two or maybe 3 duplicates of a given message. In this use case, the emacs bindings could be a bit more ergonomic. The current binding is '%', which then prompts the user for "duplicate:" and the user is obliged to type in the number of the duplicate that they want. When i'm looking at duplicate 1/2, the obvious answer is i want 2/2. when i'm looking at 2/2, i want 1/2. The current interface, while nice and fully flexible makes me do extra work :) Here's a proposed update: - '%' on its own moves to duplicate n+1 (wrapping around from the max back to 1) - prefixed '%' (that is, 'C-u %') yields the current behavior where the user can enter which specific duplicate they want. My elisp remains rudimentary at best, so i don't know that i know how to make this fix (in particular, i'm not sure how i retrieve the current values N/M, in order to calculate mod_M(N)+1), but i'd be happy to test any patch that does this. I don't know how people feel about changing the default keybindings on a relatively recent feature -- would it be upsetting to users if the behavior of % changed in this subtle way? --dkg --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQttUkcnfDcj0MoY88+nXFzcd5WXAUCY2vbiQAKCRA+nXFzcd5W XE5KAQDqFbQpCGaDj9zdVxOQ3npVwiOorWdlukxmmgtxdnrU/QD/S2BX3TKICsRJ 2zo40pFJPK3aloLaVJV1nQu+b6gaxgM= =SaaT -----END PGP SIGNATURE----- --=-=-=-- --===============2492839699315140761== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============2492839699315140761==--