Tags completion ignores narrowing

* lisp/org.el (org-get-buffer-tags): Ignore narrowing, if any.  Small
  refactoring.
org.texi: Remove "ID" as a special property

* doc/org.texi (Special properties): Remove "ID" as a special
  property.  Sort list.

Special properties cannot be set only using properties located in
a properties drawer.  "ID" is always set through a properties drawer.
It is more a reserved property than a special one.
Add "ITEM" to special properties

* lisp/org.el (org-special-properties): Add "ITEM".  Tiny fix to
  docstring.
(org-entry-properties): Compute "ITEM" property's value.
(org-buffer-property-keys): Remove hack since "ITEM" now officially
belongs to the special properties list.

* doc/org.texi (Special properties): Document "ITEM" change.

* testing/lisp/test-org.el (test-org/entry-properties): Add test.
org-colview: Use regular "ITEM" property

* lisp/org-colview.el (org-columns-display-here): Use regular "ITEM"
  value instead of computing another one.  Simplify process.
  (org-columns-cleanup-item): Remove function.

* contrib/lisp/org-colview-xemacs.el (org-columns-display-here): Use
  regular "ITEM" value instead of computing another one.  Simplify
  process.  (org-columns-cleanup-item): Remove function.

* etc/ORG-NEWS: Document change.
Fix cba2f0a

* lisp/org.el (org-adapt-indentation): Update docstring.
(org-fixup-indentation): Ignore contents of source blocks and example
blocks when indentation should be preserved.

* testing/lisp/test-org.el (test-org/demote, test-org/promote): Add
  tests.
fix org-eldoc path
Let `org-read-date' respect `org-replace-disputed-keys' again

* lisp/org.el (org-read-date): Respect `org-replace-disputed-keys'.

Beginning from org-8.1, org-read-date ignores
`org-replace-disputed-keys'.  This commit restores the original
behavior.  Users who want the org-8.1 behavior should customize
`org-read-date-minibuffer-local-map' instead.

See http://thread.gmane.org/gmane.emacs.orgmode/90626/focus=91318 for
the discussion on this issue.

This commit in effect reverts a6986494a0c4fc5d3363c2bebe48215e7138e4f1
and e8023dde58f267a525b63184ec07d371b5a4c8b5.

TINYCHANGE
ORG-NEWS: Document read date change
Replace obsolete aliases of calendar functions

* lisp/org-agenda.el (org-agenda-diary-entry): Replace obsolete functions.
Merge branch 'maint'
org-info: Try info index if info node is not found

* lisp/org-info.el (org-info-follow-link): Attempt index lookup if node
  lookup fails.

* doc/org.texi (External links): Update info links.

Info index is almost always finer grain than info nodes.  For example
with this change, [[info:libc#close]] brings up not only
"(libc)Opening and Closing Files" info node, but also place the cursor
on the line that documents "close" function within the node.  This is
done by looking up "close"in the index upon failing to find a node
named "close".  Hence one can now link function, variable and other
names that are in the index rather than being limited to info node
names.  Typically there are far more index items than there are node
names.  For example libc manual has about 700 nodes, but over 4000
concept, type, function, and variables index items.  More examples of
new ways to create links are shown using org.info as example

- [[info:org#org-clock-idle-time]] uses "Variable Index"
- [[info:org#org-capture]] uses "Command and Function Index".
- [[info:org#timestamp]] uses "Main Index"
- [[info:org#C-c C-c]] uses "Key Index"

TINYCHANGE
org-info: Throw an error when following an info link fails

* lisp/org-info.el (org-info-follow-link): Throw an error instead of
  a message when search fails.
org-element: Implement `org-element-lineage'

* lisp/org-element.el (org-element-lineage): New function.

* testing/lisp/test-org-element.el (test-org-element/lineage): New
  test.
ox: Deprecate `org-export-get-genealogy' for `org-element-lineage'

* lisp/ox.el (org-export-collect-tree-properties,
  org-export-numbered-headline-p, org-export-get-tags,
  org-export-resolve-fuzzy-link, org-export-get-ordinal,
  org-export-get-parent-headline, org-export-get-parent-element,
  org-export-get-parent-table):

* lisp/ox-ascii.el (org-ascii--current-text-width):

* lisp/ox-beamer.el (org-beamer--frame-level):

* lisp/ox-icalendar.el (org-icalendar-blocked-headline-p):

* lisp/ox-latex.el (org-latex-footnote-reference):

* lisp/ox-odt.el (org-odt--enumerate, org-odt-link--infer-description,
  org-odt-table): Use `org-element-lineage' instead of
  `org-export-get-genealogy'.
Fix `org-return'

* lisp/org.el (org-return): Avoid false positives in function.

* testing/lisp/test-org.el (test-org/return): New test.

Thanks to Sébastien Vauban for reporting it.

<http://permalink.gmane.org/gmane.emacs.orgmode/92657>
ORG-NEWS: Document `org-element-lineage'
Fix `org-insert-heading'

* lisp/org.el (org-insert-heading): Fix some corner case when point is
  in an invisible list.

* testing/lisp/test-org.el (test-org/insert-heading): Add tests.

Reported-by: Luke Crook <luke@balooga.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/92619>
Merge branch 'maint'
org-element: Fix docstring

* lisp/org-element.el (org-element-lineage): Fix docstring.
Fix `org-indent-line' on blank lines after a paragraph

* lisp/org.el (org--get-expected-indentation): Properly compute
  expected indentation on blank lines after a paragraph.
(org-indent-line): Update docstring.

* testing/lisp/test-org.el (test-org/indent-line): Add test.