From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id gJfUMa6P6WHM1QAAgWs5BA (envelope-from ) for ; Thu, 20 Jan 2022 17:37:02 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id MG55Lq6P6WGRRwAAauVa8A (envelope-from ) for ; Thu, 20 Jan 2022 17:37:02 +0100 Received: from mail.notmuchmail.org (yantan.tethera.net [135.181.149.255]) (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 634B441992 for ; Thu, 20 Jan 2022 17:37:02 +0100 (CET) Received: from yantan.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id A22FB5F703; Thu, 20 Jan 2022 16:36:57 +0000 (UTC) Received: from anarres.sindominio.net (anarres.sindominio.net [88.99.208.38]) by mail.notmuchmail.org (Postfix) with ESMTPS id 8F4FB5F6D1 for ; Thu, 20 Jan 2022 16:36:55 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by lesnaus.sindominio.net with ESMTP id 673BC365070 for ; Thu, 20 Jan 2022 17:36:54 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 lesnaus.sindominio.net 673BC365070 Received: from anarres.sindominio.net ([127.0.0.1]) by localhost (lesnaus.sindominio.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8axcVmxoZfYu for ; Thu, 20 Jan 2022 17:36:52 +0100 (CET) Received: by lesnaus.sindominio.net (Postfix, from userid 108) id 8A924365073; Thu, 20 Jan 2022 17:36:52 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 lesnaus.sindominio.net 8A924365073 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lesnaus.sindominio.net with ESMTPSA id 7297B365070 for ; Thu, 20 Jan 2022 17:36:50 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 lesnaus.sindominio.net 7297B365070 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sindominio.net; s=mail; t=1642696610; bh=QuZpoBRxwJmByUdNtyblnoykiX9DY3CL1kWivu9p+J0=; h=Date:Cc:From:To:Subject:In-Reply-To:References:From; b=hR8yIU0ak88ob7BYsvZHI+O+gOiBIwpmcQQWkoAlWsL4MI937yqfV7HDGpRnQx5nX aHs62PRfhvlDb2jYBmm3yCCiQMlPHpG43YbZTZk7dsYUg4682jNeQR4O2/Lk1ZGBsQ Sro4sWkzM+mvQdyPZVtyHATEnk3R1W5DCsCzlEI4nW0akpOi5SFuzgmcihVfYKYhR/ fd+F+rR5ePJnUPGx0mKMwzspiIgvgVZSbrXwcE3xxsZetaiNkE+/sFRCPSbsjUyE4N KfpFdG3T8u8fQ8Yk6SQ3+TSl6hnS/2+MaGm1eCWrduKGgcBfTNvlC1xz6VI/wzvjNg d4pAJdFuiTMWxa7np9IM4TEkVSCRaUWy9Wa9IY1V+FE1mzFxajAtG9T2b3tCh34z5Z 3K97XAMyivgjorKdOZqsNU1ONfCbE3dz2IJ+Hl0kV1jmnXgxEwhR8o3iQoQdzwu66y rIQZpyh40w9iCKf//+AZuiyOXXSc+9xxuo9e2iuKO1FRPOS/C2MKaeWxjwMlDjD33D c0fTzsmdUxjG+5htBViKEi+4MRq8Ion4b0eOMLOA7Jnv9GZa0peH90PDnUidyUpGH/ h/RvX2Z4d46e0COmRoWBvsrMntmyMy3vG2WMpVPurNopv2QGbddovKKWf/iASNDoEG 60VS6pHe9tFrPdkgQsKTidys= Mime-Version: 1.0 Date: Thu, 20 Jan 2022 17:36:49 +0100 Message-Id: Cc: From: "inwit" To: Subject: Re: Repeat last tagging In-Reply-To: References: Message-ID-Hash: 7I6I3WSL3UDUHJFCSWQKCVV4MJX4VXH7 X-Message-ID-Hash: 7I6I3WSL3UDUHJFCSWQKCVV4MJX4VXH7 X-MailFrom: inwit@sindominio.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: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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=1642696622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-owner:list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=Mk89+SHVTlklzpllKOMWgeZKhMib3Ac2eYgB5Z2m5Ro=; b=HWVwYIzBIyY9AP3Okd3Bv8LF6aeN3U8Xja5v7/S+oPPNvor5yC1ATOaYTxgfyvB4o9KiI3 Mck80MvHUjOSkWCueNimFNah6arcIjX0xB5FOwXLZWI5T5xs24XV5aXXjEIg7xE8oWvuYG ylSWr7gXp/x80WsCSgAJj9asKC0N2+HyYaJ7pDQHCK8qbfqVI1LNTStUhbf3YPe5W9cwMn EDj4lKhv/R7Gnrrlh5coQYn8EP0yuHyqiWtXwFnhrpYUIR7EIHaAaHRMh96NfyuhvMFFje TyXvm8TtaOgymiF6nBP09Lv0gRU67RU+Z7By3VWKxpcTYdFV+56kXCh1cTxLzA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1642696622; a=rsa-sha256; cv=none; b=QO5Y17727UflY4v4WorarbrqmQBXCot3TfWpZsBNc+tpQk4T2X0x9/vv95YLyO0WLrflOc 4YwR+GXYPU9oK5sxRJkpNPAKdD3oUv3jEMvqV0FGejP21QMW9Cl9cY/lU7bBrpwgPjUljZ 2y2k9Wg9IHrRQNmC2uAg42es/NGIyYXyuuliJ/teXqlLo+cM/JJmn+zX4G0ArJM5WbPVd6 SHVunZ1tcgYvkuYs+gqLpTQ2f/uOphUjLZRRH4PRyoxCPHZmA0XDacCPVlDFH4AQgp3M1n s7FyL3fO0b+R/jmE8XGZlp2L7OL/3Ft/fz2DeKQxoPTpEgK9m48O9AehDoeIbQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=sindominio.net header.s=mail header.b=hR8yIU0a; dmarc=fail reason="SPF not aligned (relaxed)" header.from=sindominio.net (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 135.181.149.255 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Spam-Score: -0.75 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=sindominio.net header.s=mail header.b=hR8yIU0a; dmarc=fail reason="SPF not aligned (relaxed)" header.from=sindominio.net (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 135.181.149.255 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Queue-Id: 634B441992 X-Spam-Score: -0.75 X-Migadu-Scanner: scn0.migadu.com X-TUID: xplvdltfthhJ Hi, Thanks to David Bremner's patience, I've managed to produce the code needed to perform the repeat last tagging functionality I was hoping for. It is based on the following function (my very first elisp function): ``` (defun inwit/notmuch-tree-repeat-tag () "Repeat the last tagging operation" (interactive) (notmuch-tree-tag (split-string-and-unquote (car notmuch-read-tag-changes-history)))) ``` I've then bound that function to `.`, which is convenient since I use Evil and that's the standard for "repeat the last operation": ``` (evil-define-key 'nil notmuch-tree-mode-map (kbd ".") 'inwit/notmuch-tree-repeat-tag) ``` Anyway, I share this here in case others might find it useful. And with the code I share my wonder about notmuch, emacs and floss in general. And my gratitude! :) On Wed Jul 14, 2021 at 10:41 AM CEST, inwit wrote: > Hi, > > While using notmuch in emacs (which I love, thank you so much!!) I was > wondering if there's a way to repeat the last tagging operation for a > different message or thread. > > My usecase is that, in tree-mode, sometimes I need to tag several emails > from different threads, and it would come very handy if, after the first > tag change, I could use a shortcut (I'd choose '.', as in vim/evil) > which would apply the same tag change to other emails. Does this make > sense? I know I could perform a search for all the emails that I need > to tag and tag them all at the same time, but the criteria to select > them is usually not obvious. Another option would be to be able to mark > emails, then tag them (I've seen the emacs-region thing, but it's not > the same). > > Thanks in advance. And cheers again for the good work! > > Regards,