From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id yCojK/0OYGLpNAAAbAwnHQ (envelope-from ) for ; Wed, 20 Apr 2022 15:47:41 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 4AT/Kv0OYGIXBAEAauVa8A (envelope-from ) for ; Wed, 20 Apr 2022 15:47:41 +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 40C57F995 for ; Wed, 20 Apr 2022 15:47:41 +0200 (CEST) Received: from localhost ([::1]:33744 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nhAgG-0004Ak-Ch for larch@yhetil.org; Wed, 20 Apr 2022 09:47:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37250) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nhAL1-0004cG-Vk for emacs-orgmode@gnu.org; Wed, 20 Apr 2022 09:25:48 -0400 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]:35738) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nhAL0-00048y-8G for emacs-orgmode@gnu.org; Wed, 20 Apr 2022 09:25:43 -0400 Received: by mail-pj1-x1034.google.com with SMTP id i24-20020a17090adc1800b001cd5529465aso4988645pjv.0 for ; Wed, 20 Apr 2022 06:25:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:in-reply-to:references:message-id:date:mime-version; bh=Z676wgJGNcXKVzZq4kw/RKLZCeVU7c8b2mQwC4N54Nk=; b=Xl3FhK1OZc2Q7KkyQfraxNIciy3SQ6GK6pOms30ZqIAmlVA5q6vKGkDzI49siXUbNy gcpQFvD470zOP6GA3C8awWVwKrwq2tp69ar2Evw5nlyFxdBMPQBTCmPaxG8mjVtApr5u DZYImC/b60odiEmv4xe7PH/UfV0r2AbNwRS9TeUHzD6YQP5KwhthdG58Oel51wD2KfGe Gho/GLY+CNfg8l2rSJPuyud8+wRLFr2Jwh7zM+Eird9aqF5vrKp1BQCrJ/Ogcd7ry5VM 6DVA/OwUx+YUYNtlrvB3JkHITnkLkhZoFK+WhIjZpkG9zMgIhjVk61rXHPYSgkPksQ64 bS2w== 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:references :message-id:date:mime-version; bh=Z676wgJGNcXKVzZq4kw/RKLZCeVU7c8b2mQwC4N54Nk=; b=oeKz9/G/J6h508rnW4EfS7ZNNi2NWEWMiB241ol1cJA4iGItoNo5ampkEND/ZTw5UZ ZfCVteNMDdTIlgkmLXm10ZaFSHbln6Ha4gloahdklYY3NAKQFVAYT6L7kc9CalWoQnvS 9fQsxk80+WFhvWos1ryrl6w3Wur4eOOxRT8XTuBR8fzMrUGYp/2RGuNBAfZK4FfY7I/D JPlWAYBFi5UAGvVRGTZgjzL/kA2dkFyg+P/VWvboK+Yvq9eK0jqWbnoF++AZuqpqqMKw NEqM5xuDad/NF2hLr0PwmF0OQyMm3gRWLgIofOfti27P+2+7jywtVVFw+1WwjZaZ4MfE z6tQ== X-Gm-Message-State: AOAM533ltxz0ZkHH6tjb0ZkwhmzUNqIj10bNnYFzp23Ds96eV9y6k58F U8Fploug+6Lzn51rYB2hEK6EQ/CMYwgHkg== X-Google-Smtp-Source: ABdhPJzKP9wJA6blJ/OqKPrig6jwHPUvt2/wJOfwNC9ed+QRkxWDpgkYbCsrYsfQQR+4VJJBX6RQ6w== X-Received: by 2002:a17:90b:4ac7:b0:1d1:c730:579c with SMTP id mh7-20020a17090b4ac700b001d1c730579cmr4436404pjb.189.1650461140404; Wed, 20 Apr 2022 06:25:40 -0700 (PDT) Received: from localhost ([64.32.23.62]) by smtp.gmail.com with ESMTPSA id f10-20020a056a0022ca00b0050a858e8cc3sm10264001pfj.200.2022.04.20.06.25.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Apr 2022 06:25:39 -0700 (PDT) From: Ihor Radchenko To: emacs-orgmode@gnu.org Subject: [PATCH v2 22/38] ORG-NEWS: Add list of changes--- In-Reply-To: References: Message-Id: Date: Wed, 20 Apr 2022 21:26:33 +0800 MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::1034; envelope-from=yantar92@gmail.com; helo=mail-pj1-x1034.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=1650462461; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=Z676wgJGNcXKVzZq4kw/RKLZCeVU7c8b2mQwC4N54Nk=; b=QJzaE6RDGoC0BSCuwvQuoEGcpDNfiuuz+61u/+ST98P86XO1xvEP8jzjCiipStuLyCs/z8 e6nTxWJvPmAloCz/fo0CMPTSs9hDNBKKRd6pQkg0zX6ap33AF3U14I3Esq5ZR04ZuBrxAw w4z8+0Xfb/kj3TUQvQoYckkXKRER7aP5VFRN4thid9Ol8CsdO3VJyLIYcZ1xfsrqrp4xsR REpBC6KiEO/bH6CjAf9+GF4c6+Ve+4Kdr1yFqAd9FZC4BPE0oRw5am3YKA+UvUfiRlc8qJ kf27n5YPzghTTAu3tpNAUdh0t5LIIEKX2x9pLh2mXXdXXdztzSzXGCssjJDU2Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1650462461; a=rsa-sha256; cv=none; b=pZnylpWidZTrhBDqyR92g1yEtI2AGif5RJ5qvREL/4o2L7l25+9XNxUAkubrnPeU4SX0i9 /Opa+VoiI+BbexP12Z8A+Wj59nIwV19vYLdyTnZX8SuLhwyXx93flny60OsYzlLGaSPKyO 5+z2zvfQU7/BBlXp/lHje52qu3OzB2lDQr8YQzU7MVTxbHsvLuYeudE5LNPHXOh6lWBmwa mgJlL13qdKYRMSPPBMRYuJ/Ox1jBJ29ey4d+qhsYqc2boKzPryrbo7yDBIc4i5Wngw1GN9 aATwkW2YZLRfngR2DbekYZ31L7cajZMuf8kz2yPimV2FrjxJ9FO5lpd1jSE5/w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=Xl3FhK1O; 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=Xl3FhK1O; 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: 40C57F995 X-Spam-Score: -3.04 X-Migadu-Scanner: scn1.migadu.com X-TUID: BY+8A3/KU4qZ --- etc/ORG-NEWS | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index 4f1309ecc..5b934fe96 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -40,6 +40,105 @@ The cache state is saved between Emacs sessions. Enabled by default. The cache persistence can be controlled via ~org-element-cache-persistent~. +*** Users experiencing performance issues can use new folding backend + +The old folding backend used in Org is poorly scalable when the file +size increases beyond few Mbs. The symptoms usually include slow +cursor motion, especially in long-running Emacs sessions. + +A new optimised folding backend is now available, and enabled by +default. To disable it, put the following to the Emacs config *before* +loading Org: + +#+begin_src emacs-lisp +(setq org-fold-core-style 'overlays) +#+end_src + +Even more performance optimisation can be enabled by customising +=org-fold-core--optimise-for-huge-buffers=. However, this option may +be dangerous. Please, read the variable docstring carefully to +understand the possible consequences. + +When =org-fold-core-style= is set to =text-properties=, several new +features will become available and several notable changes will happen +to the Org behaviour. The new features and changes are listed below. + +**** Hidden parts of the links can now be searched and revealed during isearch + +In the past, hidden parts of the links could not be searched using +isearch (=C-s=). Now, they are searchable by default. The hidden +match is also revealed temporarily during isearch. + +To restore the old behaviour add the following core to your Emacs +config: + +#+begin_src emacs-lisp +(defun org-hidden-link-ignore-isearch () + "Do not match hidden parts of links during isearch." + (org-fold-core-set-folding-spec-property 'org-link :isearch-open nil) + (org-fold-core-set-folding-spec-property 'org-link :isearch-ignore t)) +(add-hook 'org-mode-hook #'org-hidden-link-ignore-isearch) +#+end_src + +See docstring of =org-fold-core--specs= to see more details about +=:isearch-open= and =:isearch-ignore= properties. + +**** =org-catch-invisible-edits= now works for hidden parts of the links and for emphasis markers + +In the past, user could edit invisible parts of the links and emphasis markers. Now, the editing is respecting the value of =org-catch-invisible-edits=. + +Note that hidden parts of sub-/super-scripts are still not handled. + +**** Breaking structure of folded elements automatically reveals the folded text + +In the past, the user could be left with unfoldable text after breaking the org structure. + +For example, if + +#+begin_src org +:DRAWER: +like this +:END: +#+end_src + +is folded and then edited into + +#+begin_src org +DRAWER: +like this +:END: +#+end_src +The hidden text would not be revealed. + +Now, breaking structure of drawers, blocks, and headings automatically +reveals the folded text. + +**** Folding state of the drawers is now preserved when cycling headline visibility + +In the past drawers were folded every time a headline is unfolded. + +Now, it is not the case anymore. The drawer folding state is +preserved. The initial folding state of all the drawers in buffer is +set according to the startup visibility settings. + +To restore the old behaviour, add the following code to Emacs config: + +#+begin_src emacs-lisp +(add-hook 'org-cycle-hook #'org-cycle-hide-drawers) +#+end_src + +Note that old behaviour may cause performance issues when cycling +headline visibility in large buffers. + +**** =outline-*= functions may no longer work correctly in Org mode + +The new folding backend breaks some of the =outline-*= functions that +rely on the details of visibility state implementation in +=outline.el=. The old Org folding backend was compatible with the +=outline.el= folding, but it is not the case anymore with the new +backend. From now on, using =outline-*= functions is strongly +discouraged when working with Org files. + ** New features *** New library =org-persist.el= implements variable persistence across Emacs sessions @@ -117,6 +216,11 @@ argument. This function is intended for us in the definition of a ~kbd~ macro in files that are exported to Texinfo. +*** =org-at-heading-p= now recognises optional argument. Its meaning is inverted. + +=org-at-heading-p= now returns t by default on headings inside folds. +Passing optional argument will produce the old behaviour. + ** Miscellaneous *** Styles are customizable in ~biblatex~ citation processor -- 2.35.1 -- Ihor Radchenko, PhD, Center for Advancing Materials Performance from the Nanoscale (CAMP-nano) State Key Laboratory for Mechanical Behavior of Materials, Xi'an Jiaotong University, Xi'an, China Email: yantar92@gmail.com, ihor_radchenko@alumni.sutd.edu.sg