From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id aLR1DEU552BZBAEAgWs5BA (envelope-from ) for ; Thu, 08 Jul 2021 19:43:33 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id COqNB0U552AOVQAA1q6Kng (envelope-from ) for ; Thu, 08 Jul 2021 17:43:33 +0000 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 9404910B01 for ; Thu, 8 Jul 2021 19:43:32 +0200 (CEST) Received: from localhost ([::1]:44920 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m1Y3f-0002OE-Aw for larch@yhetil.org; Thu, 08 Jul 2021 13:43:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1Y2d-0002ME-Fz for emacs-orgmode@gnu.org; Thu, 08 Jul 2021 13:42:27 -0400 Received: from mail-40133.protonmail.ch ([185.70.40.133]:18701) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m1Y2Y-0002CM-PF for emacs-orgmode@gnu.org; Thu, 08 Jul 2021 13:42:26 -0400 Date: Thu, 08 Jul 2021 17:42:19 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1625766139; bh=AwNsBZfgNq1xuSbcYcpLCttyWB/1H0r66NAwl9kKsng=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From; b=IrawLCsXW9sBp4R9qCaQUbld6nmL0DvD3VBWLdeMHq+BD6KgHGLpk4fbNbpPQyLhO iQCZ3cY5GnUM/+Z9zCnjRMu5D7LF56VtgZxKLs+F/aYLbpXL3bVKgk5TU9V4zCPG4g fAv5M4QLhTNkIr0mlCDIcKDbtZcX12b0mW8X0MuE= To: Trust me I am a Doctor From: Jacopo De Simoi Cc: Tom Gillespie , Tim Cross , emacs-orgmode@gnu.org Subject: Re: [PATCH] Allow tangling to a list of files Message-ID: In-Reply-To: <87k0m0682j.fsf@riseup.net> References: <-0ZoEP_lzUvrnWSq9TwiYHNJ0Spa94xjiTOF0TU8np0pYgHEPx-62_dr5xBMd3VUu7frSRXxiAFje99v2jeaJg==@protonmail.internalid> <6nablMuhQkeviB-6VFvbgkSFIQUX0t1Cn9X8VKPNkMNmTx_r0NlLhnpTJQyUB9EjTZEtB_1xnumcRgd_UEl_mQ==@protonmail.internalid> <87h7h7nakd.fsf@gmail.com> <3116936.aeNJFYEL58@bl4ckspoons> <87r1g9lmp3.fsf@gmail.com> <87k0m0682j.fsf@riseup.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.133; envelope-from=wilderjds@protonmail.com; helo=mail-40133.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Jacopo De Simoi Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1625766212; h=from:from:sender:sender:reply-to: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=AwNsBZfgNq1xuSbcYcpLCttyWB/1H0r66NAwl9kKsng=; b=ZcuTp6ZimTZeH/Lva2sOzM2uDf9bZcjum3Rhikh72icoKtLoqwYw+Br5KzJvSbtVqGEfsi 5OeDpCdbEZWgosneaarzJ0lr4iEa6ovzLA63ReLxtiFAdX4aLkwdlRcmHPaOqX4PhGWCuB ei+7+6oatQxL/AFPaxakl+l2hBeF2Mk+yC+dMBIcTizy4Rq6jcFIwleoUUDx4Mgca9R7cL f2mEhiuHnPmaaGEeSUbM6PwUJr0zLkQ9vTffFaVds5Oy2n1NebTTOyPBXrfYVkksw+brGL BxFZUY7zTpSmGJLgWaPubKDDdwRj7L5R99zPyjziTcgwG2agDt5v2ePCB3vWnA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625766212; a=rsa-sha256; cv=none; b=Y1g2G7wXLSZhWV2dduLDwW5svjS5DtFB1YGKu4co77vZC9Ka16p6Ck7CAMddFB29gPpLDF Bdk/ds4clHQYJfbTxkkbEg2JlqKoa/8YdO9X4FhqLPlAYMsdSyrgpm7a7K8gqZOocLfXL+ A5aWkXzUWz+GjS1Ko4FXuEpw48gk0VwTtlixO3eVu9NgrqlurYZpV4Z3SL2h5hEaGA8Xy3 43NXUT/owOXOKKFo+9m/B+TXdoHNOa5gyR1iOpYRWwpkbctd6P0fCVUFdhLSIV3KJvGVOf 7bqV0UdkaPggCaVZZmjVQykhIxbTHTX7lOlhnx5s6Xl/02RZrIWUNZdEc1DZOw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=protonmail.com header.s=protonmail header.b=IrawLCsX; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Spam-Score: -3.11 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=protonmail.com header.s=protonmail header.b=IrawLCsX; dmarc=pass (policy=quarantine) header.from=protonmail.com; spf=pass (aspmx1.migadu.com: domain of emacs-orgmode-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=emacs-orgmode-bounces@gnu.org X-Migadu-Queue-Id: 9404910B01 X-Spam-Score: -3.11 X-Migadu-Scanner: scn0.migadu.com X-TUID: cdUZHh5uAOi/ Hi Doctor, It's good to have such constructive discussion here. I like your approach to tangle based on tags. I accomplish more or less th= e same in this (unfinished) literate config for zshrc https://gist.github.com/85c9b9c9ab151c5fd35bd761ef6ef569 Here the function `org-tags-to-filenames' simply fetches the list of tags a= nd returns a list of filenames corresponding to the tags. Each block is th= en tangled to each file in the returned list (using the patch under discuss= ion) Best J =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 Original Me= ssage =E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90=E2=80=90 On Thursday, July 8th, 2021 at 12:41 PM, Trust me I am a Doctor wrote: > Hi, > > I have no particular opinion for the patch proposed but wanted to share > > with you some reflections I had on the subject to use one org file to > > tangle to multiple setup. > > I use abundantly virtual machines and my emacs configurations have many > > bits that I don't want everywhere, be it a mail setup, a rss setup, or > > extra languages setup ... etc. > > It is not exactly the same usage, I do not tangle different versions in > > one pass, I tangle a version at a time, and take care of installing it > > in the right place later. > > Naively I started to use the header's tags to tangle blocks. I thought > > because there was already in place a query syntax for the tags it > > may been interesting to use that. > > You can see attached a proto of a tangle function that accept tags > > specification and that will only tangle the blocks of the headings > > matching this specification; and some utilities that I use with it. > > However I must say that solution is quite simplistic. It effectively > > allow me to filter dynamically what I tangle from my files, but I cannot > > rely on it to specify elegantly, eg, complex dependencies between > > packages. > > At some point I wished to use org-properties to abstract some logics > > from Elisp to org, and then forget about I always have something else to > > tweak ... > > -------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------------------------------------------------------------------------= ---------