From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id EEs5NBAr9WGcBQAAgWs5BA (envelope-from ) for ; Sat, 29 Jan 2022 12:54:56 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 4IHbMBAr9WHECAAAauVa8A (envelope-from ) for ; Sat, 29 Jan 2022 12:54:56 +0100 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 61E8D37DAA for ; Sat, 29 Jan 2022 12:54:56 +0100 (CET) Received: from localhost ([::1]:41308 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nDmJj-0000xj-IN for larch@yhetil.org; Sat, 29 Jan 2022 06:54:55 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59078) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nDm2j-0004HR-5b for emacs-orgmode@gnu.org; Sat, 29 Jan 2022 06:37:21 -0500 Received: from [2607:f8b0:4864:20::42b] (port=33379 helo=mail-pf1-x42b.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nDm2g-0000mp-1L; Sat, 29 Jan 2022 06:37:20 -0500 Received: by mail-pf1-x42b.google.com with SMTP id i186so6076417pfe.0; Sat, 29 Jan 2022 03:37:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mAVsx8BZOn7kUd1LJDsPtyoJFoykxsahk6V/N4Adb0s=; b=S1LRMoLChmLPi7ANmvF8PeoiteSdWL6aLMZGSZP6+cth5JqHenQIZbisLBG4y261wB /HEFbl44JvDCSL+VJnwwhH2RZ8swASmc4ozSB77ZGMJV3CfJifLPVkJb3KsE0RwyGWOT wKGhA8tCMRXdRMH7mVavdx785Igiydlnu094+8uqj3RtmY9ZZpEON8YSgFS4UWYsoxGk 2HgpkKGAW22kJ8RWcUnyO9Q3tGbB3os8M19Nq6i5kqvM9bOwXpaWPWAarvKDZEsnXvVr sZvXV1/URndYsck6r0h4BRE0CfAIEkVxTxmoNp12/oMGy95a4atbQ7MHHU4brghMAzmK m3jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mAVsx8BZOn7kUd1LJDsPtyoJFoykxsahk6V/N4Adb0s=; b=ZfTNtIpUcfOXPLkjadiQeLDTtIc2B4H1Jw60c1ayc5YsSFqtCr2bHu6kyo/k1x6ONB xeA1ds1B2lvOBbgfAR/CtIzv6OMwgddI2p0TpM0K12KlEETQHtXbxZlVnSnMqctLw5oh pYFgxbQEt/rrvRMme1S1nR38Qnr1E5/xsv+aR8g7byU0twz+haL3kser2Q8VQF9F7PQO fWGkE2ACsim7TmSw/La4ocXjXwxPlWA0HRepzYcxMaUnM7tn2kJ8Px4NeYnQ+WEHdQez 5SPu13RSmhKtGoR5EmUeYwtszhDjQ7cyL0vwdByaQB0ud9LY1vlXs2bENkcyTOyNWKpq Uryg== X-Gm-Message-State: AOAM530rat5oFnhHjUclvQNGjpWSdU4x7nGCENe4vDdxdU/fBTYtB3hg 7ja8S3iwXcmaQsJTGto3Nq0SsxqTvDtvcI/u X-Google-Smtp-Source: ABdhPJy4jV0DfU4QQ5+NnsZG1Xgp03mHIi2svfny+yOkOUnvUrZvFqj2+mYeXqqmNXkgvlU9zJDavA== X-Received: by 2002:a63:8543:: with SMTP id u64mr10026828pgd.600.1643456236273; Sat, 29 Jan 2022 03:37:16 -0800 (PST) Received: from localhost ([209.95.60.92]) by smtp.gmail.com with ESMTPSA id f8sm10034910pfv.24.2022.01.29.03.37.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Jan 2022 03:37:15 -0800 (PST) From: Ihor Radchenko To: Bastien , Kyle Meyer , Nicolas Goaziou , Karl Voit , Christian Heinrich , emacs-orgmode@gnu.org Subject: [PATCH 22/35] ORG-NEWS: Add list of changes Date: Sat, 29 Jan 2022 19:38:14 +0800 Message-Id: <269fd38e5f2831140423188ec0e687f195723f0f.1643454546.git.yantar92@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: <87y2cvloay.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------2.34.1" Content-Transfer-Encoding: 8bit X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::42b (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::42b; envelope-from=yantar92@gmail.com; helo=mail-pf1-x42b.google.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no 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: , Cc: Ihor Radchenko Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1643457296; 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=mAVsx8BZOn7kUd1LJDsPtyoJFoykxsahk6V/N4Adb0s=; b=fZR0HqNfRtmCdd9+0cshZL36slGeqgNrRrNL5sPK+Gzduf0N2toTyMlzB7n3ZDO4n/7yL5 R9y0A5mkthW8tbUmenRxf6S586ISkM3lrKGpjMF6X+66S0bXAprhU2oZVI8yYuzpUqpM5A 2ZVYHc7/gEz0Q+T7D6CoorLou52DvIhsBlUFcd05zF/852Ri2D5GM3CmwLG/j6w/UsGlH2 FIBtDMWwd3S9uhpXY2yGcC/xNtfaUn1e2LLYshKui8eOq2QLeRp0Ix+AaAH/Xz8QI6rRm/ IGjRgpn63c5Y6V94cU6nRvtX0AahEc+l4848Q3IbKHD7qUOh7uv8muDu0z1vNQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1643457296; a=rsa-sha256; cv=none; b=IxDBFi0KsjpasyN8k9TFeB03k0IZ6Xu5WdP8lCquTJRtFIeKpcM0j6gg3ZunZxSKWtD/EN wLTvqxpQTCxt8bl5NFDuf6Cdi3A5f8oxv7xQvEUK75aL3AUR1bK+QKNf+er0OStOPDg0q1 7z1f/VyiZSXIUBGacV/wyLnTTDK4Wj3lDKPJ78WINn2FeKIIWUP+0OF/3qIQ5i/2JuAWwv mfSI/x9qtWo1di5gIPgSWCkDXFSic0I3ZwY6yAnZToHkQOk7RkWmYfnVHXJTVqGNgvIUAp lpfngqB/Yw2UNV3Q189qIh4ZDULk0+wRZqjbxwxhpTx8vZkoEncKmjk475RgZA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=S1LRMoLC; 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.33 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=S1LRMoLC; 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: 61E8D37DAA X-Spam-Score: -3.33 X-Migadu-Scanner: scn0.migadu.com X-TUID: AyYLrvDUqstu This is a multi-part message in MIME format. --------------2.34.1 Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit --- etc/ORG-NEWS | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) --------------2.34.1 Content-Type: text/x-patch; name="0022-ORG-NEWS-Add-list-of-changes.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0022-ORG-NEWS-Add-list-of-changes.patch" diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index 5a94e737e..a60248589 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 @@ -98,6 +197,11 @@ argument. ~org-get-tags~ now accepts Org element or buffer position as first argument. +*** =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.34.1--