org: Header arguments in Org mode properties

 
 Header arguments in Org mode properties
 .......................................
 
 Buffer-wide header arguments may be specified as properties through the
 use of ‘#+PROPERTY:’ lines placed anywhere in an Org mode file (see
 SeeProperty syntax).
 
    For example the following would set ‘session’ to ‘*R*’ (only for R
 code blocks), and ‘results’ to ‘silent’ for every code block in the
 buffer, ensuring that all execution took place in the same session, and
 no results would be inserted into the buffer.
 
      #+PROPERTY: header-args:R  :session *R*
      #+PROPERTY: header-args    :results silent
 
    Header arguments read from Org mode properties can also be set on a
 per-subtree basis using property drawers (see SeeProperty syntax).
 When properties are used to set default header arguments, they are
 always looked up with inheritance, regardless of the value of
 ‘org-use-property-inheritance’.  Properties are evaluated as seen by the
 outermost call or source block.(1)
 
    In the following example the value of the ‘:cache’ header argument
 will default to ‘yes’ in all code blocks in the subtree rooted at the
 following heading:
 
      * outline header
        :PROPERTIES:
        :header-args:    :cache yes
        :END:
 
    Properties defined in this way override the properties set in
 ‘org-babel-default-header-args’ and are applied for all activated
 languages.  It is convenient to use the ‘org-set-property’ function
 bound to ‘C-c C-x p’ to set properties in Org mode documents.
 
    ---------- Footnotes ----------
 
    (1) The deprecated syntax for default header argument properties,
 using the name of the header argument as a property name directly,
 evaluates the property as seen by the corresponding source block
 definition.  This behavior has been kept for backwards compatibility.