From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id 2EopBKliy2RFmwAASxT56A (envelope-from ) for ; Thu, 03 Aug 2023 10:17:45 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id QGUGBKliy2SQVAEAauVa8A (envelope-from ) for ; Thu, 03 Aug 2023 10:17:45 +0200 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 C075A3FEED for ; Thu, 3 Aug 2023 10:17:44 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=EgmkKK1u; 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"; dmarc=pass (policy=none) header.from=posteo.net ARC-Seal: i=1; s=key1; d=yhetil.org; t=1691050664; a=rsa-sha256; cv=none; b=T1rwmYO1gWN7H4ZOofplqII+xRCwP117g7uvt3szuO96EyM3FkHGEzbMOQhPlV0chKC8+0 VQJIJNViP2+qO6OcMBpRyY7bBnQeK0aPMMtHnyTLJPBKJ56bxxoB4stCEy9RVmFfqbHEjU QTi9Y4giQt4ajaQ9AsfdbqUFZpe8uauuP3akw6GbfkTrkPYllhGRxMER/58RXprOojswtK 5qDwW0k8rgGzuEhT86FJIC5hm6pULVBZoLkKJl9md886qZUYAif+p0R0recocQa0mjh3Ct 7rQZeRGTfsLQMzEwNWlL1s0UkjwuDUHdRooJ3CtZhQwxFGccUUfRwYx2Py+luw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1691050664; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=g7+RVhuRQq0Am9XUxUGgrC4yDmGIOWuin/AtAGW6kE0=; b=qeqO6TAQaDMGKDUv8xrQCoEM4xi/oT+eRrX+RVCIEbhOJIMyjPYcsRHOoqXgb7ZuC+HEEm L6dCI4di6QWeo8s8U4XieN81eTCK1838OOSJds7/24VjFBRe3TaAfWd8JhTcRx2ODKkBvP u4UhKYi9rNcjRhZqLD1GNkFEbMQgcfLWu15aEwE5SiJ5EYDSYX49zqThokHW7sWOnp4UIU X2Y5YMq/MJUPmJTJqVeZ2CHS3zznCdxYsZ2wm/4lFPPAKAgJcUQLTm6zrKMCDzfVH6xCYz Ad7SyB8x3IsjfbBCulOZf0uMuB80lmvuPo2qeOvVWka1oNgQUHePs9w5VK7uzA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b=EgmkKK1u; 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"; dmarc=pass (policy=none) header.from=posteo.net Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qRTVq-0003wV-Lm; Thu, 03 Aug 2023 04:16:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qRTVo-0003w5-7S for emacs-orgmode@gnu.org; Thu, 03 Aug 2023 04:16:49 -0400 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qRTVl-0004f6-Rn for emacs-orgmode@gnu.org; Thu, 03 Aug 2023 04:16:47 -0400 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 92BFA240028 for ; Thu, 3 Aug 2023 10:16:40 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1691050600; bh=a88wOfxtTQarTa8OGFe9TpRgQ6yJf9qybJ+RWuK5LtE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=EgmkKK1u6Yql9tkDNcDWLS1KAVvynNiCuKs+nKJGt9yvcwbbRI9UYBbl7P1INcmCA msTfBb1Z1woeu109PG5eJtiPU1GmnC4CCp/TtMqjyZ3Y4DajIetWDBNLa9cIxoPM52 UHCOdwEvj3eT7r2wJgxGVxct8w+8+lthiZPcgIOc/1ExOoh2fi/z8r7ITHILkmuzrj IP3WBAYIA5Q1181rIADW73g/F23A3MoPsqbIr6wTLsnLMPfEAtmhA+kU7kPckZgF8i joquaHazqZwVcVNvZSQHzV2/P1sPiwChIR2BVCeBTwvyt5SBywGT/ckFu9bbwsZf4q c3yoKALGnHd1g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4RGhWq4sQTz9rxL; Thu, 3 Aug 2023 10:16:39 +0200 (CEST) From: Ihor Radchenko To: Mehmet Tekman Cc: emacs-orgmode@gnu.org Subject: Re: [ANN] lisp/ob-tangle-sync.el In-Reply-To: References: <87zg69zq49.fsf@localhost> <87r0rg1lwe.fsf@gmail.com> <87leho3y0n.fsf@localhost> <87a5y3vzpe.fsf@gmail.com> <87jzx6ylrm.fsf@localhost> <87ttw8kd9u.fsf@gmail.com> <87fs5ppcx7.fsf@localhost> <875y6hwqqe.fsf@localhost> <87o7k48jcf.fsf@localhost> <87v8e8m0ao.fsf@localhost> <87tttkghou.fsf@localhost> <87wmyc1sud.fsf@localhost> Date: Thu, 03 Aug 2023 08:16:55 +0000 Message-ID: <87r0ok1qx4.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham 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: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -6.32 X-Migadu-Scanner: mx2.migadu.com X-Migadu-Queue-Id: C075A3FEED X-Spam-Score: -6.32 X-TUID: zZBx87D6QfuY Mehmet Tekman writes: >> setq unexplained-params (delete-dups unexplained-params)) > > The help mentions that it stores the result in the list, and it looks > like it works > > #+BEGIN_SRC elisp > (let ((x '(1 2 1 2 3))) (delete-dups x) x) > #+END_SRC This is just implementation detail. As a general good practice, destructive list manipulation commands should follow (setq foo (command foo)) pattern. >> Instead, we should use >> (mapcar #'org-babel-read (org-babel-balanced-split "yes \"my file with quotes\"" ?\s)) > > See my next patch, it implements a quote aware string splitting > function which is used just for the tangle headers. Is my > implementation there enough, without having to use text > properties? We already have `org-babel-balanced-split'. Your patch will be a code duplication. Also, your patch will not handle #+begin_src lang :tangle "tangle yes file" vs. #+begin_src lang :tangle tangle yes file >> > - (tangle . ((tangle yes no :any))) >> > + (tangle . ((tangle yes no :any) >> > + (import export skip sync))) >> >> We should not yet change this before the code using the new tangle >> values is in place. > > This is a big source of confusion for me, since I don't really > know how to implement this extra merging behaviour *without* > first having tangle headers implemented, since no other element > in `org-babel-common-header-args-w-values' has multiple > exclusion groups where at least one has `:any' The new merging behavior does not have be used just yet. We first implement the capability to handle exclusive groups with :any and later, in another patch, make use of the new capability. Does it make sense? -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at