From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id cN0yB8kI32XFDwAA62LTzQ:P1 (envelope-from ) for ; Wed, 28 Feb 2024 11:19:53 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id cN0yB8kI32XFDwAA62LTzQ (envelope-from ) for ; Wed, 28 Feb 2024 11:19:53 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=QPkwztrx; 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=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1709115592; 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=ZMMkTQu0vHOEF2J8vGFas7S0f50Q7uvskoWg9HRius8=; b=jwNTrDhE92TvSC+12nYwq9hL3ZbBeZSPWOJywEtHQueLHDIFLlYVRn2GjTg3SLQynrQFMp sf0/sirJgegl8MFAFoWVO0P16d5QZS7+RGXkTPDZmHDnIl9GfaMXWd7DNmCuENHAXaoU3b mPMuZTBIDKaKJ0okOhrsgsO0z0eVOxH28sksSeR9y/VGUfO34G9enJ48u621UKCoq1VLPr fypgSf/CIyFaB0Q0+z14wBmMhVoS3lO/vpazX4nSewJ/hI1Cts88UFUmVzlKUxrfpcAahw /TJnnj+dOx1C1SicMNMNfZsGRTSdgPWStkjh7d+6ODsZlylTWys+zVphNDzwLQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=QPkwztrx; 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=gmail.com ARC-Seal: i=1; s=key1; d=yhetil.org; t=1709115592; a=rsa-sha256; cv=none; b=jqaNcP3UJrsJc1yo8knq9gbXF1ltDd7DQBj0TLWKIQb5CRsz5c/wCZQkQ7y/j6NMMmerAS XzUaMPRNEo7OBq3BcDiZwoiv9kDJbozqtcE/Yl4oOABLDqL8Xp5pMRYshWzhbzU+X+KLXY T9m/mOt6VjPU24QtwZbeFrAQgt8OX0wu2OKnY+sb3uUeNtetjMt/NmCWlI6DIsqKTWSl73 9JG5g5p4V8WNaWgda0m1sFDM/7u6BZmd82V+MvowIduMuab7wuCD3shEco+TfiFevC2TwK 5fRJt+mGs8h0QB+tizArCT7n/XHRaZ0QhSaowJMcictxOGDbgqFyKTFt8R+PRg== 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 C99A0474B3 for ; Wed, 28 Feb 2024 11:19:52 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rfH1n-0000aG-To; Wed, 28 Feb 2024 05:19:08 -0500 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 1rfH1m-0000VB-Cu for emacs-orgmode@gnu.org; Wed, 28 Feb 2024 05:19:06 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rfH1k-0006Xn-Od for emacs-orgmode@gnu.org; Wed, 28 Feb 2024 05:19:06 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-412b206f9b6so6147515e9.0 for ; Wed, 28 Feb 2024 02:19:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709115542; x=1709720342; darn=gnu.org; h=content-transfer-encoding:mime-version:date:references:in-reply-to :subject:cc:to:from:message-id:from:to:cc:subject:date:message-id :reply-to; bh=ZMMkTQu0vHOEF2J8vGFas7S0f50Q7uvskoWg9HRius8=; b=QPkwztrxTbxE+Zf35DbmsXf8XKT+bDK+G221CXbHpbt+1T+TJHGcmIm91FGW2+m66M dWuozaq3BQgQEFr3kvEVZyj6YeUDK+0iZEBcdTqtJBOEzOWsHqRjLPN5Z6tJ7X9VoU7b G5xDnsa/roW8XGvzQvlEq7oNsQ53vUYw7JDCcXWeQenqtqCs/sy5sPLc7dKP9odYCo3I VgRRLds58+CEOkdpQX/jYjKMUdIKWzDmPiB4tbv2yuPqHG0LddZZ+1kC8nADYq3HbnuS qQCREUMnnHehDlcjaxQDNRJ1yioQSuoYUdUEkIroUbgtzU9IYrhTpURwuqeoYLpijlFb O+WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709115542; x=1709720342; h=content-transfer-encoding:mime-version:date:references:in-reply-to :subject:cc:to:from:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=ZMMkTQu0vHOEF2J8vGFas7S0f50Q7uvskoWg9HRius8=; b=vrrNMn7bh4Yc94yY/ufDMqTYHpvlfO3uYJwldtZ0bmcNE+jQa0Wrg5PNCpLHdvinQP s2zd8YRCs/Mam46HZoJiRrekAKtNHsXk6DNVzgmclaoyiMq/y9CQdMUM8uRAAQqvZYRC jmy45NlgQd77RHXLPDz3h7PHE02CpSQbnrWHxCB/Ds3Ho02IchEX43C2E3Ovmkeb6dWO OVYh7LdHf3ymhFQ9T7SfG5hhO2HUvzdWpRQbHr2xHecW+wd4Xr8+pjYKNd4r2cIEC5XU W2FjrFJWpK1HwaC7GMHbPvF5K0twzHtiGkXpw9+pkmEI21hXTW0sQXlVcQw6WQKlrcvK eZvA== X-Gm-Message-State: AOJu0YxxIAGCuvn9x1ljvcY+9GCbLDoukantHq8zMvXTM9f2eKAKr6hs ZZU5hlNXBQNSfSlBd+ttyWdYUuCiMAG2s2k212i+PtwatgScUOnNMiTQJ2Z5 X-Google-Smtp-Source: AGHT+IFmOBMcaprCsjHKgbhRto+tyhq5edhMsonM2PDrmoWPajhi5OxOtOTPurOnXr3aqSK2ruPh0A== X-Received: by 2002:adf:e7c7:0:b0:33d:38ca:1b4f with SMTP id e7-20020adfe7c7000000b0033d38ca1b4fmr8270857wrn.33.1709115542107; Wed, 28 Feb 2024 02:19:02 -0800 (PST) Received: from keynux ([2a01:e0a:505:3460:1c18:688d:ece4:372e]) by smtp.gmail.com with ESMTPSA id w2-20020adfcd02000000b003392206c808sm13979498wrm.105.2024.02.28.02.19.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Feb 2024 02:19:01 -0800 (PST) Message-ID: <65df0895.df0a0220.a68c8.0966@mx.google.com> Received: by keynux (sSMTP sendmail emulation); Wed, 28 Feb 2024 11:19:00 +0100 From: Bruno Barbier To: emacs-orgmode Cc: Ihor Radchenko , Jack Kamm , Matt Subject: Pending contents in org documents (Re: Asynchronous blocks for everything (was Re: ...)) In-Reply-To: References: <87o7d0mm54.fsf@localhost> <65bbb108.050a0220.b60fd.6790@mx.google.com> <87jznm8hcu.fsf@gmail.com> <875xz42rp9.fsf@localhost> <874jen8zec.fsf@gmail.com> <87o7cv9e80.fsf@localhost> <65c2875f.050a0220.caf6d.8291@mx.google.com> <18dae5cab1d.bf1c7563863897.4896289306902277373@excalamus.com> <65cfa0d8.050a0220.cb569.ce34@mx.google.com> <18dbe11968a.12c0800a31425096.5114791462107560324@excalamus.com> Date: Wed, 28 Feb 2024 11:18:59 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=brubar.cs@gmail.com; helo=mail-wm1-x329.google.com 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, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -7.78 X-Spam-Score: -7.78 X-Migadu-Queue-Id: C99A0474B3 X-Migadu-Scanner: mx11.migadu.com X-TUID: A7ON34bA+N6Q Hi, Bruno Barbier writes: > Hi Matt, [...] >> Since this thread is dedicated to blocking, let me share my thoughts on = that subject. > > I guess I should start a new thread then :) I finally got a new version. I've renamed the proposed feature "pending contents", that is, some contents that something will update *later*. With that feature, source code blocks and dynamic blocks can be made asynchronous =E2=80=A6 and more! I've publish the proposed changes as a branch. You can fecth that branch there: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 repo: https://framagit.org/brubar/org-mode-mirror =E2=94=82 branch: bba-pending-contents =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 The file [my-async-tests.org] describes the proposed changes, its implementation and contains examples to play with it (shell, python, ruby, results{append,prepend,silent}, inline blocks, multithreading, dynamic asynchronous blocks, source codes that depend on other blocks {post, stdin}, etc.). I've tried to fully describe the feature in the new section "Pending contents", in the file `lisp/org-macs.el'. Testing it in a bare Emacs should now work (I'm using 30.0.50). *DO NOT TEST* in your production Emacs: this is *alpha* software and it hooks itself deeply into Emacs (kill hooks), and (only when trying the multithread examples) uses thread mutexes&locks. Here is a simple recipe to test the proposed "pending contents" feature: =E2=94=8C=E2=94=80=E2=94=80=E2=94=80=E2=94=80 =E2=94=82 git clone -b bba-pending-contents https://framagit.org/brubar/org= -mode-mirror =E2=94=82 cd org-mode-mirror =E2=94=82 make compile =E2=94=82 cd scratch/bba-pending-contents/ =E2=94=82 emacs -q -L ../../lisp my-async-tests.org =E2=94=94=E2=94=80=E2=94=80=E2=94=80=E2=94=80 Thanks you all for your previous comments. I hope I've addressed most of them. Comments, critiques, ideas, corrections are most welcome. Thanks, Bruno [my-async-tests.org]