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 ms11 with LMTPS id COYEF/C+YF8mRQAA0tVLHw (envelope-from ) for ; Tue, 15 Sep 2020 13:17:36 +0000 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 0G9ZEfC+YF/iIgAA1q6Kng (envelope-from ) for ; Tue, 15 Sep 2020 13:17:36 +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 A6A639404CF for ; Tue, 15 Sep 2020 13:17:35 +0000 (UTC) Received: from localhost ([::1]:58198 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kIApy-0004Rc-Ev for larch@yhetil.org; Tue, 15 Sep 2020 09:17:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60198) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIAaB-0000HT-EI for emacs-orgmode@gnu.org; Tue, 15 Sep 2020 09:01:15 -0400 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:42487) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kIAa4-00068q-1B for emacs-orgmode@gnu.org; Tue, 15 Sep 2020 09:01:15 -0400 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 2C6DB9EB for ; Tue, 15 Sep 2020 09:01:04 -0400 (EDT) Received: from imap21 ([10.202.2.71]) by compute1.internal (MEProxy); Tue, 15 Sep 2020 09:01:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=smx8h9 ZR7uoWIJVOQPtRGXPqFMjEUeMQN0ljQeiW5Kw=; b=V4bwzDKspDYp/1CX7ooB/h RdXbzbZTyDf6NhE9ivrd3R+hbCjcjsLF0slezl8NGK2fYS6rK/h7UpFs2XyYsmFm MEa6N1AqZmcqt86gCQ83QKNkjbOMg7VhPevJPMlL6Be+MREiiaUGYMhqk+zHD4Hy bYLy1tqbJDJrdheOuKlxyvWY+giaPiJCOUMx2pwoK4YuwVlbGFGmjIsH2hrSfpgI d1NJgcr2wgbNA95cxYuaXRu18v0UR7AFSWUUg0LKy5jRpeMfvl4vB/ZIKvFOHtoC I7tplQPZQFM0U1nsr6y3fXTOpxrfbNSl/L4jbvdv3GaT+KfXcrqG9qTOcAYwf0iQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrtddtgddvjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvffutgesthdtre dtreertdenucfhrhhomhepfdfpihgthhholhgrshcuufgrvhgrghgvfdcuoehnihgtkhes nhhitghkshgrvhgrghgvrdgtrgeqnecuggftrfgrthhtvghrnhepiefgheduieeileehie duieelhfdvhfdtiedttdeitdeffedvlefgieejfeehteffnecuffhomhgrihhnpehtohho rdhorhhgpdgvvhgvrhihohhnvgdrohhrghdpghhithhhuhgsrdgtohhmpdhofhdrohhrgh dpsgihuggrshgvihhnrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm pehmrghilhhfrhhomhepnhhitghksehnihgtkhhsrghvrghgvgdrtggr X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 9F9E7660069; Tue, 15 Sep 2020 09:00:54 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-259-g88fbbfa-fm-20200903.003-g88fbbfa3 Mime-Version: 1.0 Message-Id: In-Reply-To: References: Date: Tue, 15 Sep 2020 09:00:39 -0400 From: "Nicholas Savage" To: emacs-orgmode@gnu.org Subject: Re: Re Org 9.4 is out. Can you help? // breaking apart Org Mode Content-Type: text/plain Received-SPF: none client-ip=64.147.123.20; envelope-from=nick@nicksavage.ca; helo=wout4-smtp.messagingengine.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/15 07:45:56 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_NONE=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: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=V4bwzDKs; dmarc=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-Spam-Score: -0.20 X-TUID: VEoc5LugJta7 Hi there, I'm new to the development scene (contributed my first patch to Emacs last week or so) and a new developer in general who has been looking to get involved. I saw Bastien's post on Hacker News yesterday and thought that if Org Mode is looking for contributors it would be a good place for me, since I use Org Mode frequently. I have a rudimentary understanding of elisp, but I'm looking to improve by actually contributing. I'm just wondering about some of these ideas, mostly from an administrative point of view. I think they're fantastic ideas, such as moving code from Org Mode back up to Outline mode. I'm just looking to wrap my head around how this is supposed to work (I already understand submitting patches and can read the READMEs, so don't worry about that). If I am looking to do that though, would I be submitting a patch both to Emacs and one to Org Mode? At what point are Org Mode commits merged into Emacs? I guess my concern is that these changes could be breaking for users of Org Mode if they're not also using the most recent master of Emacs as well. Nick On Tue, Sep 15, 2020, at 06:05, William Rankin via General discussions about Org-mode. wrote: > Hello, > > At the request of Bastien I'm sending on these ideas regarding the > future of Org Mode development. I'm also copying emacs-devel since they > might be interested too. > > Org Mode and Emacs would benefit greatly from the codebase being broken > apart, not unlike how an antitrust suit breaks apart a big company for > the good of society! > > It is my view that many parts of Org code could be implemented as minor > modes or independent libraries. This would encourage cleaner, more > modular and more easy to understand code. It would provide an > exponential benefit for other elisp programs. And by splitting up the > codebase you allow contributors more a sense of ownership and emotional > investment in the things to which they provide their time/effort. > > A few suggestions... > > * outline > > Org Mode builds on top of outline, but those improvements are isolated > to Org, e.g. Org has wonderful outline cycling, but if someone wants > outline cycling in another major mode they need to implement this again > (likely just duplicating Org's existing code). Ideally all of this could > be ported back to outline itself. This would slim down the Org codebase > while benefiting all other outline-based major modes. > > * orgtbl-mode > > This is a good attempt at implementing some of Org's functionality as a > minor mode. Ideally orgtbl could be ported back to table and enough > flexibility added to make it compatible with Markdown Mode tables > (currently implemented with its own table stuff). > > * source blocks > > Org's source block functionality could be spun off into its own library. > In theory it could work just like outline (where a major mode defines > its own heading regexp). A major mode would define its own source block > delimiter regexpes. > > Ideally any major mode writing for a plain text markup format would > just: > (require 'source-blocks) > then have all the same functionality of Org source blocks. Any > improvements would then benefit everyone. > > * org-toggle-time-stamp-overlays / org-toggle-link-display > > This functionality, although small within Org, could be very nice as > their own minor modes. Displaying dates/times with custom format is easy > enough... URLs a bit harder. > > I went so far as to try this with varying degrees of success: > https://github.com/rnkn/prettify-date-time-mode > https://github.com/rnkn/prettify-url-mode > > * org-link > > I see a lot of interest for that Zettelkasten method, with many > different implementations. What's stopping Org's cross-linking being > implemented as its own global minor mode, independent of .org files? > > * electric-pair-mode > > Org currently uses org-emphasize for its emphasis pairs, but could it > just use electric-pair-mode? Would this prompt some improvements to > electric-pair-mode? This would benefit everyone. > > > I don't mean to suggest that the above ideas are things I'm particularly > hanging out for, I'm just trying to sketch an ideas of beneficial ways > Org could be broken apart. > > Finally, I'm pretty sure breaking apart Org will mean it will be much > easier to maintain -- it will be far easier to find one or two people > passionate about maintaining perhaps a source-blocks library than the > entirety of Org. If Org's development takes this more modular direction, > where libraries are designed to work independently of the rest of the > code, then it won't need an elite few people who understand the whole > codebase. > > I hope some of these ideas were either valuable or provide valuable > discussion. > > -- > William Rankin > https://bydasein.com > > ~ The single best thing you can do for the world is to delete your > social media accounts. > >