emacs-orgmode
[Top][All Lists]
Advanced

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

Re: Allowing :PROPERTIES: drawer to appear at the end of entries


From: Ihor Radchenko
Subject: Re: Allowing :PROPERTIES: drawer to appear at the end of entries
Date: Wed, 26 Apr 2023 08:56:57 +0000

John Wiegley <johnw@gnu.org> writes:

> IR> Sorry, but I am against this feature.
> IR> The original motivation why we restricted the property drawers to be
> IR> only right at the beginning of a heading in Org 8.3 was performance.
> IR> See https://list.orgmode.org/orgmode/87oatek909.fsf@nicolasgoaziou.fr/
>
> I should be able to choose to trade performance for layout. It's my data.
> Since this does not impair the performance of those who do not opt in for
> this feature, it seems an unnecessary restriction to prevent it.

This has been discussed, weighed, and we decided to go ahead with this
syntax change.

The restriction is not unnecessary:
1. Org syntax is not just used by Org in Emacs. We have a more general
   syntax definition (https://orgmode.org/worg/org-syntax.html), aimed
   at submitting as RFC.
2. Supporting arbitrary property drawer position will increase the
   maintenance burden. Your patch will not cut it. Basically, we will
   have to parse the whole section to determine if a given match to
   property drawer regexp is real (it may, for example, be a part of src
   block or example block). Moreover, org-element-cache will have to
   adapt in non-trivial ways to handle such property drawers.

Instead of modifying Org syntax, it would make more sense to implement
"dynamic" heading properties that can be calculated according to
arbitrary defined function. AFAIU, it will also achieve what you need.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>



reply via email to

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