From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id SM5YDmsJYGK65wAAbAwnHQ (envelope-from ) for ; Wed, 20 Apr 2022 15:23:55 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id 8KBbDmsJYGLbGwEA9RJhRA (envelope-from ) for ; Wed, 20 Apr 2022 15:23:55 +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 A5E682A1E7 for ; Wed, 20 Apr 2022 15:23:54 +0200 (CEST) Received: from localhost ([::1]:40540 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nhAJE-0000WP-SV for larch@yhetil.org; Wed, 20 Apr 2022 09:23:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36504) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nhAIG-0000WF-Dd for emacs-orgmode@gnu.org; Wed, 20 Apr 2022 09:22:52 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]:43980) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nhAIE-0003D0-H8 for emacs-orgmode@gnu.org; Wed, 20 Apr 2022 09:22:52 -0400 Received: by mail-pj1-x102a.google.com with SMTP id j8-20020a17090a060800b001cd4fb60dccso2011091pjj.2 for ; Wed, 20 Apr 2022 06:22:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:in-reply-to:message-id:date:mime-version :content-transfer-encoding; bh=B0Xw8x/0qcABnRV3RA+rQnJdRCv1kcjgGNev6xRA60g=; b=iEvi9/nLdXrop6/NtBEEk+NY40A0a7GzzCQClml19jBsf53QuH2qZbnUGDM63Y6yDd 8XhwgMPqZ7FxhGeakLwint7B4XjuKa2Bvppi9fa8X70FCkUgBFSfOptRPCWnWIVRdLpn sweOT9NNjfspW2w7UVEoxAgucXqBHjJGJVyZJSayAYxnJlL0AG02Jgpn+Y4hTiidMDyb nXRjDh76KYd+Zz9XieU1Nan+Cu8kYhQqOwvnHb5eSyV/ezD91qETkwO8yUDs/K2zIkiT pKgo/m5lqLYq9G7k/hoFVxtAFwyrPArQ3xAWPFODFL3nqOCBLXqRQPgArd6/YvwrB/70 q18A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:in-reply-to:message-id:date :mime-version:content-transfer-encoding; bh=B0Xw8x/0qcABnRV3RA+rQnJdRCv1kcjgGNev6xRA60g=; b=V0kresU3UrgrTPYWkUraPGd7J/vk9zRex/2WDwdCxBkLyOMoiakCXUCgF4d5QHLYld wAZ59zDb91XZ64Va2i6YnTHt/ZDImlVDtr+7DZrok5lNaAZghgTI5VCm+saWCnayy58H jexlH6YOwT8FxcoLlyPYuDSoejxwXACHCeyGbb7zdaWgLnd3fmpkOnCWiBuVeb3p5vch QFpBDJcd1kwTJ3B57p8F9FstDNTHycU29Kv+2bJ1VYYlin3ggYFa0I92Zany0cY40VMF rR6t+SbLsSdNqBSQsKqd+LdGDt4e4Qk0b4ALaVWmNvbtrTAyl95j7ZoPBt14iz/mj43N 8/vA== X-Gm-Message-State: AOAM530Ez15EhsYvJd7WcOPUh4MlndUQ9U2PLSBhB3N8qhTOnF1vIkzf QllUS5SgB2UY89p3fV56/98rwJxlIMlm/A== X-Google-Smtp-Source: ABdhPJwYDE5aRrxjsfMRrcUYf9NNPa8u8cT9a4QhGGQArMdAGQ1qdv1Dx7x5JYrPhte63Ujjz4gldQ== X-Received: by 2002:a17:902:f792:b0:153:1566:18 with SMTP id q18-20020a170902f79200b0015315660018mr20615014pln.115.1650460968416; Wed, 20 Apr 2022 06:22:48 -0700 (PDT) Received: from localhost ([64.32.23.62]) by smtp.gmail.com with ESMTPSA id ka9-20020a17090b474900b001d3e8cde8ecsm2060925pjb.20.2022.04.20.06.22.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Apr 2022 06:22:47 -0700 (PDT) From: Ihor Radchenko To: emacs-orgmode@gnu.org Subject: [PATCH v2 00/38] Final call for comments: Merge org-fold feature branch In-Reply-To: <87a6f84edg.fsf@localhost> Message-Id: Date: Wed, 20 Apr 2022 21:23:41 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=2607:f8b0:4864:20::102a; envelope-from=yantar92@gmail.com; helo=mail-pj1-x102a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=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" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1650461034; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=B0Xw8x/0qcABnRV3RA+rQnJdRCv1kcjgGNev6xRA60g=; b=INpYYLmympo0TnceAb9FgcBxAeC3oYtRNiAQAJMsfocsw8rCRh7ISnUBJQ97vwnqypTEpW dLqFSMnEtOL+BznqB0qEwl9SWyLYrhtm2OmxU6zwGjT0+hkrhlfAbuLBbzaBUHEpODvseU II1TKYQr476cAJ04xmyL2d4WndEzDePAnGXebueA+0Z1ivKpMnXpvIE50UsVnwH/njW0yQ +V/QJYEi3iooVXuvbMQk9iez6LpdYRZhNHA3gQZPFQXSzHzOe+7lw6s/nA3OYVLej2JDRl QSgHth8WtjCJPSUgqnIN3rkGVAwOs7fbtcdP72/YlcgYLY3MikxKpcfdQCpfKw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1650461034; a=rsa-sha256; cv=none; b=lzuGJvIj/3Yt0EcZUzePdaHtrZHKndaof6JZYbDA9UaO6lY/oMkM1lPVrpnpTzOwxxk1lH FFwekSLLJXBEf08eqfhAWxInBN4tiadc+30Dzy/ist+utun7ZEsIHgt/0hLFdyRqFiUQBc 5n4/pmXWEiuSmT3CqqU1U2j/jQhwvncexWV/q/zYP7ed86sC/wGeBwMEApreqk+3Ht5HNV yg2DJgZapDnrviuJ0bUL3u3q9D6Th8WwjR6Pq9PNGz9VIN8ZoJBI3KjtGhmInChLovX6j/ 3hhd1nweLlbPRW/Q/2Yy3nB0tPfjof9TFMsKW243NT591ZCRwvuacQiU5N/10Q== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="iEvi9/nL"; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Spam-Score: -3.04 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b="iEvi9/nL"; dmarc=pass (policy=none) header.from=gmail.com; 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" X-Migadu-Queue-Id: A5E682A1E7 X-Spam-Score: -3.04 X-Migadu-Scanner: scn1.migadu.com X-TUID: 3eGrtfa+LNt/ This is the final version of the patch. I am going to merge it this weekend. If there are any comments, please send them ASAP. This version is basically the same as previous, but (1) Rebased onto current main; (2) org-agenda.el can be native compiled; (3) Fixed some edge cases with fontification. Best, Ihor Anders Johansson (3): Fix typo: delete-duplicates =E2=86=92 delete-dups Fix bug in org-get-heading Rename remaining org-force-cycle-archived =E2=86=92 org-cycle-force-archi= ved Ihor Radchenko (35): Add org-fold-core: new folding engine Separate folding functions from org.el into new library: org-fold Separate cycling functions from org.el into new library: org-cycle Remove functions from org.el that are now moved elsewhere Disable native-comp in agenda org-macs: New function org-find-text-property-region org-at-heading-p: Accept optional argument org-string-width: Reimplement to work with new folding Rename old function call to use org-fold Implement link folding Implement overlay- and text-property-based versions of some functions org-fold: Handle indirect buffer visibility Fix subtle differences between overlays and invisible text properties Support extra org-fold optimisations for huge buffers Alias new org-fold functions to their old shorter names Obsolete old function names that are now in org-fold org-compat: Work around some third-party packages using outline-* functions Move `org-buffer-list' to org-macs.el Restore old visibility behaviour of org-refile Add org-fold-related tests org-manual: Update to new org-fold function names ORG-NEWS: Add list of changes Backport contributed commits Fix org-fold--hide-drawers--overlays org-string-width: Handle undefined behaviour in older Emacs org-string-width: Work around `window-pixel-width' bug in old Emacs org-fold-show-set-visibility: Fix edge case when folded region is at BOB org-fold-core: Fix fontification inside folded regions test-org/string-width: Add tests for strings with prefix properties org--string-from-props: Fix handling folds in Emacs <28 org-link-make-string: Throw error when both LINK and DESCRIPTION are empty test-ol/org-toggle-link-display: Fix compatibility with old Emacs org-macs.el: Fix fontification checks take 2 org-fold-core-fontify-region: Fix cases when fontification is not registered org-agenda.el: Re-enable native compilation doc/org-manual.org | 14 +- etc/ORG-NEWS | 104 ++ lisp/ob-core.el | 14 +- lisp/ob-lilypond.el | 4 +- lisp/ob-ref.el | 4 +- lisp/ol.el | 59 +- lisp/org-agenda.el | 48 +- lisp/org-archive.el | 12 +- lisp/org-capture.el | 7 +- lisp/org-clock.el | 126 +- lisp/org-colview.el | 10 +- lisp/org-compat.el | 189 ++- lisp/org-crypt.el | 8 +- lisp/org-cycle.el | 818 +++++++++++ lisp/org-element.el | 55 +- lisp/org-feed.el | 4 +- lisp/org-fold-core.el | 1506 +++++++++++++++++++ lisp/org-fold.el | 1132 +++++++++++++++ lisp/org-footnote.el | 6 +- lisp/org-goto.el | 6 +- lisp/org-id.el | 4 +- lisp/org-inlinetask.el | 26 +- lisp/org-keys.el | 26 +- lisp/org-lint.el | 3 +- lisp/org-list.el | 84 +- lisp/org-macs.el | 294 +++- lisp/org-mobile.el | 2 +- lisp/org-mouse.el | 4 +- lisp/org-refile.el | 3 +- lisp/org-src.el | 6 +- lisp/org-timer.el | 2 +- lisp/org.el | 2550 +++++++++++---------------------- lisp/ox-org.el | 2 +- lisp/ox.el | 4 +- testing/lisp/test-ob.el | 12 +- testing/lisp/test-ol.el | 24 + testing/lisp/test-org-list.el | 75 +- testing/lisp/test-org-macs.el | 6 +- testing/lisp/test-org.el | 258 +++- 39 files changed, 5480 insertions(+), 2031 deletions(-) create mode 100644 lisp/org-cycle.el create mode 100644 lisp/org-fold-core.el create mode 100644 lisp/org-fold.el --=20 2.35.1 --=20 Ihor Radchenko, PhD, Center for Advancing Materials Performance from the Nanoscale (CAMP-nano) State Key Laboratory for Mechanical Behavior of Materials, Xi'an Jiaotong U= niversity, Xi'an, China Email: yantar92@gmail.com, ihor_radchenko@alumni.sutd.edu.sg