Next: Using the mapping API, Previous: Extracting agenda information, Up: Hacking [Contents][Index]

### A.11 Using the property API

Here is a description of the functions that can be used to work with properties.

Function: org-entry-properties &optional pom which

  Get all properties of the entry at point-or-marker POM.
  This includes the TODO keyword, the tags, time strings for deadline, scheduled, and clocking, and any additional properties defined in the entry. The return value is an alist. Keys may occur multiple times if the property key was used several times.
  POM may also be `nil`, in which case the current entry is used. If WHICH is `nil` or `all`, get all properties. If WHICH is `special` or `standard`, only get that subclass.

Function: org-entry-get pom property &optional inherit

  Get value of `PROPERTY` for entry at point-or-marker `POM`. By default, this only looks at properties defined locally in the entry. If `INHERIT` is non-`nil` and the entry does not have the property, then also check higher levels of the hierarchy. If `INHERIT` is the symbol `selective`, use inheritance if and only if the setting of `org-use-property-inheritance` selects `PROPERTY` for inheritance.

Function: org-entry-delete pom property

  Delete the property `PROPERTY` from entry at point-or-marker POM.

Function: org-entry-put pom property value

  Set `PROPERTY` to `VALUE` for entry at point-or-marker POM.

Function: org-buffer-property-keys &optional include-specials

  Get all property keys in the current buffer.

Function: org-insert-property-drawer

  Insert a property drawer for the current entry. Also

Function: org-entry-put-multivalued-property pom property &rest values

  Set `PROPERTY` at point-or-marker `POM` to `VALUES`. `VALUES` should be a list of strings. They will be concatenated, with spaces as separators.

Function: org-entry-get-multivalued-property pom property

  Treat the value of the property `PROPERTY` as a whitespace-separated list of values and return the values as a list of strings.

Function: org-entry-add-to-multivalued-property pom property value

  Treat the value of the property `PROPERTY` as a whitespace-separated list of values and make sure that `VALUE` is in this list.

Function: org-entry-remove-from-multivalued-property pom property value

  Treat the value of the property `PROPERTY` as a whitespace-separated list of values and make sure that `VALUE` is not in this list.

Function: org-entry-member-in-multivalued-property pom property value

  Treat the value of the property `PROPERTY` as a whitespace-separated list of values and check if `VALUE` is in this list.

User Option: org-property-allowed-value-functions

  Hook for functions supplying allowed values for a specific property. The functions must take a single argument, the name of the property, and return a flat list of allowed values. If ‘`:ETC`’ is one of the values, use the values as completion help, but allow also other values to be entered. The functions must return `nil` if they are not responsible for this property.

Next: Using the mapping API, Previous: Extracting agenda information, Up: Hacking [Contents][Index]