From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id cERYOR1IAWKIzAAAgWs5BA (envelope-from ) for ; Mon, 07 Feb 2022 17:26:05 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id cPLQNR1IAWI1TQEAauVa8A (envelope-from ) for ; Mon, 07 Feb 2022 17:26:05 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 740A2179EA for ; Mon, 7 Feb 2022 17:26:05 +0100 (CET) Received: from localhost ([::1]:34590 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nH6q4-0002Dm-KZ for larch@yhetil.org; Mon, 07 Feb 2022 11:26:04 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51164) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nH65p-0006Ue-Ha for emacs-orgmode@gnu.org; Mon, 07 Feb 2022 10:38:18 -0500 Received: from [2a00:1450:4864:20::133] (port=46668 helo=mail-lf1-x133.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nH65l-0002B0-5f for emacs-orgmode@gnu.org; Mon, 07 Feb 2022 10:38:15 -0500 Received: by mail-lf1-x133.google.com with SMTP id z19so27550839lfq.13 for ; Mon, 07 Feb 2022 07:38:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=u73DrGUhW2TSIQV+V2Y0uHIC2RA4kOkU8ERIEQnIuAo=; b=HxmGHw9SxP5aDHjowP7+8lGMhd5oL7Vjm7OLvdzWoaav1o6JeZC7yh8A5yOBt7ThRj m4ivL2n/62rKlW2FDT/pV4HOcrPhXMOfPEQQom7JliOF/xZ0KHlXiOCeVC1sjyaLqcoQ F3tK2ZoNWTmukjt5ZldV2AZ/qL+bAAJkYVPPOVWM7qGrsrOBf3eNsN5rqvKdJCe0L0FD 9H6O8yu7akVe8ykyW4aBjjGmtzPp6AekVqwAtlmXaadgbdDFd3VJrFDXYAeoD/JWWKr1 J6C82hNarCG4NckV5vpaZhOpjA251rZjMH6z07GgN3pVjJh+l0jXfp+n26nSorv3Qx07 ueLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=u73DrGUhW2TSIQV+V2Y0uHIC2RA4kOkU8ERIEQnIuAo=; b=gyW+X7zscZEXfp4yhtwncsZ8ZMajqDiqloShdpfO1HmTbesWE1FpLtcX5dspcIqYfS xif95V830VCK4PxxFPE67Flg0KJ9PIGuFZNXugBVZnOvdN9tEcZuug/aIeNTmr+by5RP Qu1ZsDGiheDDIxO6r5+pBf8KyeSU4CD7dBFo2IX/Q0nN9OVzgjLiBWccJekR3vZKWWAl mZgm6/siKRD3537EjdLsRwgEi3o2nG/vUQwfcnUakgTo1lcj1BYvLey7hemZd2BVV1JT Y2xRJdUMVhoWsOwV6xcqs4ed/Vd/44HNcPsOJluqZYhrPZzHxcVaPO8XLaFq9EQnTBYj NB/w== X-Gm-Message-State: AOAM532qSNaKExR7KyKWMxaczEYPVQHEzDn7eRs4+psVbkPEdliv9F2l wR+pPw0Zg1ygSgg8YrCPly8= X-Google-Smtp-Source: ABdhPJxE6o45xtjJH38/IJGK+jzWGbb5swfys0N5wCkfRMjQzsMu3BTaoeJy8KY9wCltIJ/TE397jQ== X-Received: by 2002:ac2:5338:: with SMTP id f24mr76142lfh.317.1644248279795; Mon, 07 Feb 2022 07:37:59 -0800 (PST) Received: from ajla.lan (217-215-144-53-no249.tbcn.telia.com. [217.215.144.53]) by smtp.googlemail.com with ESMTPSA id a7sm1541274lff.44.2022.02.07.07.37.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Feb 2022 07:37:59 -0800 (PST) From: Anders Johansson To: hugo@heagren.com Subject: Re: Suggestion: convert dispatchers to use transient Date: Mon, 7 Feb 2022 16:37:05 +0100 Message-Id: <20220207153704.104259-1-mejlaandersj@gmail.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <8c364693bf6856e60cdd3e8b63ab0c9284d16733.camel@heagren.com> References: <8c364693bf6856e60cdd3e8b63ab0c9284d16733.camel@heagren.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::133 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::133; envelope-from=mejlaandersj@gmail.com; helo=mail-lf1-x133.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: emacs-orgmode@gnu.org Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1644251165; h=from:from:sender:sender: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-unsubscribe:list-subscribe:list-post:dkim-signature; bh=u73DrGUhW2TSIQV+V2Y0uHIC2RA4kOkU8ERIEQnIuAo=; b=JdSJfO+MjjQZHWIiMMMiNbUEMK6ZTnfgpUa7yNnz4wAbTbAN/IC1Gh3ch1Jl/gSU9VnnIO fF/tkT2vcsCIXXPcZa8jEEbyFrOhGJuDwwydUMIVoHBVM3Ccz5kdUno1T4+YiEv6j063bh tquaG7ioSEV9bFq0cTfMZ541XnLYDUm06Yd1ji88WWBzneYEny2s/k+kJkMpV1gq2o8NsX j6HdIq2if5aFmZukmE1OrR+oN1HSGn7M6dAjyzY9D/9HGLVA33gCEWjuoV/xcvXC0Bcp+1 KXbSUT5/LH0lgCJW0YFFFQ5vG4blyUEu2tRCFnhehfsUvwM3EVV+ejxdnbpghg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1644251165; a=rsa-sha256; cv=none; b=iW8cBpdIbyTSw5vombWDdfpLCt6BuV8Fx8kQyPfLO1HC2RAO3CKm2+mu50t4c7cb6/QMrh Z76LA9JUuU+bI4FQGnwkvpgsD99hcfWFpat/OCOW0+tntPjHmvIF+0ksOMsEJpJbopZmTk Mboeklt4tGxaXLk9jOiJU5OBL3FOTIwAFKCE4jUbXmJYx0DI9FmPVJmXYjZGZW4lU5Lk6B qGgMpG7KtV7X4+U6ErBqbMFPpNsY2Nqyl11eJHcMB3aF8cZD9mfHiJnHtTez+7TYOST3ea n6PNY283jLM9EwW3xxg1o+qaNFcKn8Pa3lWchAW/L1vpzPewGm+G8jIA2hG7zg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=HxmGHw9S; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.63 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=HxmGHw9S; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 740A2179EA X-Spam-Score: -5.63 X-Migadu-Scanner: scn0.migadu.com X-TUID: z3pCLITduDP1 I agree that transient dispatchers would be great and consistent. What is not so great with transient currently is it’s lacking support for lisp-variable/option workflows. Transient is good for command-line arguments, but setting options for emacs functions is not as streamlined (this would be relevant for the export dispatcher for example). Some new classes for these types of options would probably need to be defined, since the default infix-classes assume all options are strings. I recently did try to implement a transient dispatcher this for my orgqda package: https://gitlab.com/andersjohansson/orgqda/-/blob/main/orgqda-transient.el Partly inspired by org-ql: https://github.com/alphapapa/org-ql/blob/048de35b07d8d29fc6fa49c34d7ba1fd1c912011/org-ql-view.el#L501 I now store the options as plists in buffer-local-variables, which I am not sure is optimal and perhaps goes against the idea of saving options with transient. So still some work to do there. By the way. Getting started with transient is way easier with this tutorial than with the rather abstract info pages: https://github.com/magit/transient/wiki/Developer-Quick-Start-Guide Best, Anders Johansson