From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id dnipKx2PfmBh7AAAgWs5BA (envelope-from ) for ; Tue, 20 Apr 2021 10:21:49 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id gPs1Jh2PfmAlXAAAbx9fmQ (envelope-from ) for ; Tue, 20 Apr 2021 08:21:49 +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 8AB2117C64 for ; Tue, 20 Apr 2021 10:21:48 +0200 (CEST) Received: from localhost ([::1]:48134 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lYldj-0003AW-AL for larch@yhetil.org; Tue, 20 Apr 2021 04:21:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46976) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lYldF-0003AO-Jc for emacs-orgmode@gnu.org; Tue, 20 Apr 2021 04:21:17 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:51749) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lYldD-0007Eb-E2 for emacs-orgmode@gnu.org; Tue, 20 Apr 2021 04:21:17 -0400 Received: by mail-wm1-x329.google.com with SMTP id z6so1809649wmg.1 for ; Tue, 20 Apr 2021 01:21:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+ZtZcB9yCr4VKOF6ckbkAOk2+r0fQaEtMFlPWx14Qb4=; b=HUFtGp9Ol8BemIINM6kSPFn1/wqDOfLtcCYUZ8+S0mM+y+7sToHgKf7HlkGnpV27jm y0He9q4A30lfcribL3F0Ag6ONX3Z5PAnrQNtF0pkfJ4WDofzA3l8+CJq1GGAPKEQbd5M s9n8cwLw5EqdLf8BoIzb9I5hCtTvxx8FCdBaTi6medbGEJitnDZ7sGDNA+NcBQRFCfQ5 dFgSoyCcJdsqg6pLG0iRH39MG8xf3O3NunjZiGvIXlGiyBm2l5//FkgwOb8CN4IfuqXf gKSMXbjFMcpOod4RFnATfu1cKlWXSbdxoCgty4kb8kvvraNHstQ/tX91eX9/j9MX/qqh bR0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+ZtZcB9yCr4VKOF6ckbkAOk2+r0fQaEtMFlPWx14Qb4=; b=QPSLyYyg3DJx81RWNNczEqRkKaiV6iWt26h+nh0Sg4mvwqt4ShwjjMA7DPDMmYtvCh HTkXwSDk0ETBUCHXIrn+WVidC2FJrzN6+epLGsGtDMXVlawGiRTsADAY2yhC4JWJt1mX 5ZnPRhMVAPxFie5nAyjGf2BFmEhC5Oxrr8ngF7uxMbBJhnWQYwdkk6XxAr/CPB5yv40Q iV1rsGm1W9pCrV29C1/02xsboXruA2zsweQ0huxDnh8Uh7nJlTPspDbCW4DyxN1f4bTo FRmCRDAvMgYq09Yz9ENlUpBaJN8Vx7Zpb+WdGZL/6Ktj6+Exa0SOgyBygopqJF0Wtvro xdVQ== X-Gm-Message-State: AOAM533vqIDVXg6N2MtMXgSTw8e0uxu6yjtscWGmdQpe4S9AEl3jZ0N9 7BEIgnTn9Xy1gy8SHvAgkniLs91lsWBjGw8cpX0= X-Google-Smtp-Source: ABdhPJxsaw9XiV3EmYynoSEPevpLwIBYXjksnEi5xwByAJMpCpgDGdH3snJ9KLfWNBAoWv3/pvrVkL42TalfcZ0dl+k= X-Received: by 2002:a1c:1d0d:: with SMTP id d13mr3060712wmd.90.1618906872382; Tue, 20 Apr 2021 01:21:12 -0700 (PDT) MIME-Version: 1.0 References: <87pmyuyssi.fsf@gmail.com> <87y2dg4hik.fsf@tsdye.online> <87fszo47tx.fsf@gmail.com> <87czup6d0u.fsf@gmail.com> In-Reply-To: <87czup6d0u.fsf@gmail.com> From: Tom Gillespie Date: Tue, 20 Apr 2021 01:21:01 -0700 Message-ID: Subject: Re: Concerns about community contributor support To: Tim Cross Content-Type: text/plain; charset="UTF-8" Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=tgbugs@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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=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: , Cc: gustav@whil.se, emacs-orgmode , David Masterson 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=1618906909; 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=+ZtZcB9yCr4VKOF6ckbkAOk2+r0fQaEtMFlPWx14Qb4=; b=OEkzNJdtlBwOv2GmWA4soOO8ElKe1xzGveVxTZX3gjG8GFXJBgpcsdDLmvkUpvxeW2Zh3L Q00LQWpdjnGVC93MgerbR8KBxBz8Lr8CNPkaAaI2dyDnrJWnCOULHI2XuBtpZ5gHTyel+y hX0FG7it8vL3x89bfInizg9Ili0yuCq7tqdkPDthS1Z2gx0MuSKGxug4iu7kL4KNsPe0MP vuHhCGwBjbFQO02DVeztYAiOQrL0P2y0yngaDXQHYl96QorCRMFjP3AJTqEC/gmzHPdZ6s LEEwMLY9OYhnowQFod0zBmW0qPNYN7w9zLLYaeoyri93nXXavh5ZiTkvFbay+w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1618906909; a=rsa-sha256; cv=none; b=goGCL93YAOfF9oUywVhI1MMJpRzLKVOou4HuFQ76QhXdL0uEekY7P/ekwaMoku87CXMtou pi1N8iRnKxqGG6vq387b6lN4t3Lb8Emayq+td7I2LxlVEHb+RPMJh1WL6qQUGoFJnbSktF tHw6W7igxV7iQYCteGf/tRTj0EqL//wbJtPaUbbAfnCJ+LQOXL1m/hWgCCfsxUfoAJOW7X 6vEEx0jwVStG5c3biIQXm3TqmKl4uoGmzbazQUtQUXZ5jgOKaua5nHBtGavJgLHJ8bWc0x HGcmJf+39fCsBt4VElAXsRYL73qVKPs3Wp6CZ25tiKHFgUuKU/pfu3D/NfZ8jg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20161025 header.b=HUFtGp9O; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); 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: -1.34 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20161025 header.b=HUFtGp9O; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); 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: 8AB2117C64 X-Spam-Score: -1.34 X-Migadu-Scanner: scn0.migadu.com X-TUID: SDxL9hNiAq1x Hi Tim, David, and Gustav, I am fairly certain that with only a few exceptions it is possible to specify a context free grammar for org syntax, followed by a second pass that deals specifically with markup and a few other forms, notably the reassembly of things like plain lists. The fact that this is possible because most org constructs are line oriented. Just a note that the linked parser.rkt [0] is indeed a BNF describing org syntax in the same style as a bison/yacc grammar. One of the reasons why I set out to work on this was precisely so that there could be a reference that could be consulted by the community when questions about extended org come up. There are proposals for new syntax that appear on this list with terrifying frequency, and they are routinely shot down or simply ignored for good reason, however it is hard to communicate that to enthusiastic contributors who have an immediate use case that they want to solve and share and are unlikely to be aware of side effects. Having a grammar where such issues can be tested empirically should provide a significant safeguard while also making it easier for contributors to play with the grammar and see the issues. In all my work on the grammar I have found maybe 2 or 3 places where the grammar could be "extended" but it isn't so much extended as it is regularized, where some parts of org already parse a more complex grammar while other very similar parts choose not to. Overall the cost of not parsing certain forms in certain situations adds complexity rather than reducing it. The situation for contribution is also further complicated by the fact that the elisp implementation of org mode is internally inconsistent in its behavior with regard to the syntax, so great care has to be taken if someone tries to make and argument based on the behavior of one component. All this to say that the need for a conservative approach to changes and extensions combined with the internally inconsistent behavior of different parts of the elisp implementation means that the introduction of new features is extremely difficult because it is hard to predict the consequences on other parts of org. Overcoming this is why I started working on the grammar, because in the absence of a formal spec for what org should do, it is very hard to make changes to what it is currently doing without having nasty side effects. Best! Tom 0. https://github.com/tgbugs/laundry/blob/next/laundry/parser.rkt note the upcoming path change (which I will note in the original thread when it happens). PS I'm planning to reply to the main thread as well. My short take is finding a dedicated and responsive maintainer that can take over from Bastien is a high priority. The only other thing that might help is to have some way to track outstanding and closed patches, issues, etc. that is more accessible than trolling through years worth of posts on this mailing list, but that is a can of worms that has already been shot down multiple times.