* lisp/org-element.el (org-element--cache-for-removal): Be more
careful when altering a properties drawer.
* testing/lisp/test-org-element.el (test-org-element/cache): Add test.
* contrib/lisp/ox-koma-letter.el (koma-letter): Set "SUBJECT" as
parsed.
(org-koma-letter-template): Apply.
* lisp/ox-latex.el (latex): Set "DESCRIPTION" and "KEYWORDS" as
parsed.
(org-latex--format-spec): Apply.
* lisp/org-element.el (org-element-document-properties): Remove
variable.
(org-element-context): Ignore ex-"document keywords".
* testing/lisp/test-org-element.el (test-org-element/context): Remove
no longer applicable tests.
Parsed keywords are no longer hard-coded and can be set per export
back-end.
As a consequence, `org-element-context' no longer returns objects in
"TITLE", "DATE" or "AUTHOR" keywords. This makes sense as these
objects would only make sense during export, and only if the chosen
back-end actually uses them.
* lisp/ox.el (org-export-options-alist): Implement `parse' behavior
and use it for parsed keywords. Update docstring.
(org-export-document-properties): Remove variable.
(org-export--get-subtree-options):
(org-export--get-inbuffer-options):
(org-export--get-global-options):
(org-export--prune-tree):
(org-export--remove-uninterpreted-data): Handle `parse' behavior.
(org-export-as): Do not assume :date is always a secondary string
and :email is never one.
* testing/lisp/test-ox.el (test-org-export/get-inbuffer-options):
Update tests.
* lisp/org.el (org--get-expected-indentation): Diary sexps are to be
indented at column 0.
* testing/lisp/test-org.el (test-org/indent-line): Add test.
* org.texi (Beamer specific export settings)
(HTML Specific export settings)
(@LaTeX{} specific export settings)
(ODT specific export settings)
(Texinfo specific export settings): New sections.
(Beamer specific syntax): Removed some text.
* lisp/org.el (org-refresh-category-properties): Extract default
category before entering `with-silent-modifications', as
`buffer-file-name' is then bound to nil.
Reported-by: John Hendy <jw.hendy@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96620>
* contrib/lisp/org-mime.el (org-mime-send-subtree, org-mime-compose):
`cl-letf' doesn't exist in Emacs <= 23, but `letf' won't exist in
future Emacs. Replace with `lambda' and `funcall'.
* lisp/org.el (org-find-property): Small optimization.
Since VALUE is included in the regexp, it doesn't need to be found
again with `org-entry-get'. However, we still need to make sure match
really is a node property.
* testing/lisp/test-org.el (test-org/find-property): Remove a test.
For efficiency reasons, since
7a717f8f04, `org-find-property' cannot
match accumulated properties. It still could be done with another
optional argument, at the cost of a slower algorithm, but is not
needed so far.
* lisp/org.el (org-refresh-category-properties): Ignore false
positives when setting category. Also, deprecate old CATEGORY
keyword behaviour: new keywords override old ones.
* lisp/org.el (org-refresh-property): Ignore function when before
first headline or inlinetask. Small refactoring.
Reported-by: Nick Dokos <ndokos@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/96552>
* lisp/org.el (org-backward-sentence):
(org-forward-sentence): Properly move at the boundaries of an element.
* testing/lisp/test-org.el (test-org/forward-sentence):
(test-org/backward-sentence): New tests.
Reported-by: Rasmus <rasmus@gmx.us>
<http://permalink.gmane.org/gmane.emacs.orgmode/96377>
* ox.el: Remove #+KEYWORD: and #+DESCRIPTION:.
* ox-deck.el, ox-rss.el, ox-html, ox-latex, ox-odt, ox-org: Add
#+KEYWORD and #+DESCRIPTION.
* org.texi (Export settings): Explicit state which backends
support #+DESCRIPTION and #+KEYWORDS.
* lisp/ox-ascii.el (ascii):
* lisp/ox-latex.el (latex):
* lisp/ox-man.el (man):
* lisp/ox-md.el (md):
* lisp/ox-org.el (org):
* lisp/ox-texinfo.el (texinfo):
* contrib/lisp/ox-groff.el (groff): Remove `comment' and
`comment-block' translators.
`comment' and `comment-block' translators are not needed since both
commented lines and comment blocks do not appear anymore in the parse
tree. See 69dd4301ab.
* lisp/ox.el (org-export-filters-alist): Remove reference to comment
filters.
(org-export-filter-comment-functions,
org-export-filter-comment-block-functions): Remove variables.
* doc/org.texi (Advanced configuration): Remove reference to comment
filters.
* etc/ORG-NEWS: Signal removal.
Comments are removed before parsing the buffer. As a consequence,
filters are never called.
* lisp/ox.el (org-export--delete-comments): Renamed from
`org-export--delete-commented-subtrees'. Also remove comments and
comment blocks.
(org-export-as): Apply renaming.
* testing/lisp/test-ox.el (org-test-with-parsed-data): Apply renaming.
From the export point of view COMMENTed subtrees and regular comments
are expected to be treated in the same way.