ORG-NEWS: Add list of changes

This commit is contained in:
Ihor Radchenko 2022-01-15 15:50:07 +08:00
parent a8f4270ac1
commit 8f6ce702bd
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
1 changed files with 104 additions and 0 deletions

View File

@ -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