Hi,

  I want to get the title of some entry in Elisp. That is, from this heading:

*** TODO Do something!

  I want the "Do something!".


  I know no function to do this; although there is probably one. What I found 
is:

-  (org-entry-properties) returns the TODO keyword, the tags, and the category, 
but not the title.
-  (org-get-entry) has no useful documentation but it seems to return the 
content, not the heading.
-  (org-get-header HEADER) does something else related to mail; it seems to be 
unused and not much documented.
-  (org-get-heading t) seems to return the full line (even with keyword), but 
with properties:

#("TODO Do something!" 0 4
  (org-category "test1" fontified t face org-todo)
  4 18
  (org-category "test1" fontified t face org-level-3))


  Based on this, I did a function to remove the TODO keyword and the properties.

(defun org-get-heading-title ()
"Returns the heading of the current entry as a string, without the leading 
stars, the TODO keyword or the tags."
(let (
      (title-with-props (org-get-heading t))
      (keyword (org-get-todo-state))
      )
  (substring-no-properties title-with-props (if keyword (1+ (length keyword))))
  )
)

  Suggestions:
- This could also be implemented as a parameter to (org-get-heading).
- Or the title returned in (org-entry-properties)
- And (org-get-header HEADER) could be removed.
- In any case, such a function can be included in Org-mode so that it is easy 
to find.


  Thanks,
Daniel


_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

Reply via email to