Morgan Smith <morgan.j.sm...@outlook.com> writes: > The comment written just above `org-element-properties-map' says this: > > #+BEGIN_SRC elisp > ;; There is purposely no function like `org-element-properties' that > ;; returns a list of properties. Such function would tempt the users > ;; to (1) run it, creating a whole new list; (2) filter over that list > ;; - the process requiring a lot of extra consing, adding a load onto > ;; Emacs GC, memory used, and slowing things up as creating new lists > ;; is not free for CPU. > #+END_SRC > > This implies that the function `org-entry-properties' is just a bad > idea. Although giving it an argument for WHICH does make it better.
That's my comment, so I cannot disagree. > It seems like it's only used in about 4 places in our codebase so if we > wanted to go further, we could potentially see more performance > enhancements if we obsolete this function as well. > > I haven't really looked into it much though so I apologize if my > analyses is wrong. Which it definitely could be. `org-entry-properties' is the only place where the logic to retrieve `org-special-properties' is implemented. So, we cannot just obsolete it. It should be a more extensive refactoring with factoring out the logic for retrieving special property values. -- 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>