Nafiz Islam <nafiz.islam1...@gmail.com> writes: > This patch adds the option to provide function and symbol for headline and > olp for org-capture-templates.
Thanks for the patch. A few comments. Firstly, your total contribution to Org mode with this patch will exceed the maximum allowed number of LOC changes we can accept without FSF copyright assignment. May I know if you have FSF copyright assignment? If not, would you consider doing the paperwork? See https://orgmode.org/worg/org-contribute.html#copyright > - (string :tag " Headline")) > + (choice :tag "Headline" > + (string :tag "Headline") > + (function :tag "Function") > + (variable :tag "Variable") > + (sexp :tag "Form"))) Please update the docstring of `org-capture-templates' as well. > +(defun org-capture-expand-olp (&rest olp) > + "Expand functions, symbols and outline paths for OLP. > +When OLP is a function, call it. When it is a variable, > +return its value. When it is a list of string, return it. > +In any other case, return `nil'." > + (let* ((final-olp (cond ((stringp (car olp)) olp) > + (t (org-capture-expand-function-or-symbol (car > olp)))))) > + final-olp)) I think that we should filter out incorrect target specifications when the function name is followed by more list elements - (cdr olp) is non-nil. > ... > However, I just realized that the suggestion provided in > https://lists.gnu.org/archive/html/emacs-orgmode/2024-05/msg00216.html > might not work how I was hoping for. Basically, I wanted it to be possible > to search for headlines and even outline paths in the > buffer while in the function. But, by expanding outline-path before setting > the buffer (by calling outside of `org-find-olp') that > becomes infeasible. I think that we may pass the file name as an argument to outline path function. -- 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>