gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNU ELPA] Org version 9.6.8


From: ELPA update
Subject: [GNU ELPA] Org version 9.6.8
Date: Tue, 22 Aug 2023 17:06:02 -0400

Version 9.6.8 of package Org has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.

Org describes itself as:

  ============================================
  Outline-based notes management and organizer
  ============================================

More at https://elpa.gnu.org/packages/org.html

## Summary:

  This is a distribution of Org Mode, a major mode for keeping notes,
  authoring documents, computational notebooks, literate programming,
  maintaining to-do lists, planning projects, and more — in a fast and
  effective plain text system.

  Check the [Org Mode website] for more.


  [Org Mode website] <https://orgmode.org>


  1 Install Org
  ═════════════

    Org is part of GNU Emacs: you probably don't need to install it.

    To install a more recent version, please do it from [GNU ELPA] by
    running this command: `M-x package-install RET org RET'


  [GNU ELPA] <https://elpa.gnu.org/packages/org.html>


  2 Join the GNU Project
  ══════════════════════

    Org is part of GNU Emacs and GNU Emacs is part of the GNU Operating
    System, developed by the GNU Project.

## Recent NEWS:

ORG NEWS -- history of user-visible changes.   -*- mode: org; coding: utf-8 -*-

#+STARTUP: overview

#+LINK: doc https://orgmode.org/worg/doc.html#%s
#+LINK: msg https://list.orgmode.org/%s/
#+LINK: git https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=%s

Copyright (C) 2012-2023 Free Software Foundation, Inc.
See the end of the file for license conditions.

Please send Org bug reports to mailto:emacs-orgmode@gnu.org.

* Version 9.7 (not released yet)
** Important announcements and breaking changes
*** New export option ~org-export-expand-links~

The new option makes Org expand environment variables in link and INCLUDE paths.
The option is on by default.

Users who do not want variable expansion can set
~org-export-expand-links~ variable to nil or provide
=expand-links:nil= in-file export option.

*** ~org-store-link~ now moves an already stored link to front of the 
~org-stored-links~

Previously, when the link to be stored were stored already,
~org-store-link~ displayed a message and did nothing.

Now, ~org-store-link~ moves the stored link to front of the list of
stored links.  This way, the link will show up first in the completion
and when inserting all the stored links with ~org-insert-all-links~.

*** Major changes and additions to Org API
**** New term: "syntax node"

To reduce confusion with "element" referring to both "syntax element"
and "element/object" class, we now prefer using "syntax node" when
referring to generic Org syntax elements.  "Elements" and "objects"
now refer to different syntax node classes of paragraph-like nodes and
markup-like nodes.

**** New element type ~anonymous~

Secondary strings can now be recognized as ~anonymous~ type to
distinguish from non-elements.  With a new optional argument,
~org-element-type~ will return ~anonymous~ for secondary strings
instead of nil.

The new element type can be used in ~org-element-lineage~,
~org-element-map~, and other functions that filter by element type.

**** Internal structure of Org parse tree has been changed

The code relying upon the previously used =(TYPE PROPERTIES-PLIST 
CONTENTS-LIST)=
structure may no longer work.  Please use ~org-element-create~,
~org-element-property~, and other Org element API functions to work
with Org syntax trees.

Some syntax node properties are no longer stored as property list elements.
Instead, they are kept in a special vector value of a new
=:standard-properties= property.  This is done to improve performance.

If there is a need to traverse all the node properties, a new API
function ~org-element-properties-map~ can be used.

Properties and their values can now be deferred to avoid overheads
when parsing.  They are calculated lazily, when the value/property is
requested by ~org-element-property~ and other getter functions.  Using
~plist-get~ to retrieve values of =PROPERTIES-PLIST= is not
recommended as deferred properties will not be resolved in such
scenario.

New special property =:secondary= is used internally to record which
properties store secondary objects.

New special property =:deferred= is used to keep information how to
calculate property names lazily.

See the commentary in =lisp/org-element-ast.el= for more details.

**** Multiple affiliated keyword values are now stored in the order they appear 
in buffer

Previously,

: #+caption: foo
: #+caption: bar
: Paragraph

would have its =:caption= property set to ~(("bar") ("foo"))~ in reverse order.

Now, the order is not reversed: ~(("foo") ("bar"))~.

**** Some property values may now be calculated lazily and require original Org 
buffer to be live

~org-element-at-point~, ~org-element-context~, and
~org-element-at-point-no-context~ may now not calculate all the
property values at the call time.  Instead, the calculation will be
deferred until ~org-element-property~ or the equivalent getter
function is called.  The property names may not all be calculated as
well.

It may often be necessary to have the original Org buffer open when
resolving the deferred values.
...
...



reply via email to

[Prev in Thread] Current Thread [Next in Thread]