Add changes from Emacs repo that should have been backported with
bb77dd2.
Update copyright year to 2015
7e09ef09a479731d01b1ca46e94ddadd73ac98e3
Paul Eggert
Thu Jan 1 14:26:41 2015 -0800
* lisp/org-inlinetask.el (org-inlinetask-toggle-visibility): Fix
visibility toggling when starting with a link.
Reported-by: Anders Johansson <mejlaandersj@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/97603>
* lisp/org-clock.el (org-clocktable-defaults,
org-clocktable-write-default): Avoid requiring the whole export
framework just to check one variable.
* lisp/org-footnote.el (org-footnote-section): Update
docstring.
(org-footnote-normalize): Remove all export related part from the
function.
* lisp/org-inlinetask.el (org-inlinetask-export,
org-inlinetask-export-templates): Removed variables.
(org-inlinetask-export-handler): Removed function.
* lisp/org-plot.el: Remove dependency on `org-exp' library.
* lisp/org.el (org-additional-option-like-keywords): Remove variable.
(org-get-export-keywords): New function.
(org-options-keywords): Update default list of keywords.
(org-remove-flyspell-overlays-in): Apply changes to keywords
compilation.
(org-highlight-latex-fragments-and-specials)
org-latex-and-specials-regexp,
org-export-html-special-string-regexps): Remove variables.
(org-compute-latex-and-specials-regexp,
org-do-latex-and-special-faces, org-remove-file-link-modifiers):
Remove functions.
(org-set-regexps-and-options, org-set-font-lock-defaults): Apply all
removals.
(org-use-sub-superscripts): Fix docstring. Remove unused group.
(org-match-sexp-depth): Make it a defconst instead of a defcustom in
order to remove `org-export-translation' group completely.
The new export framework shouldn't be as much interleaved with Org
core as with the previous one. For example, export options, which are
back-end dependent, shouldn't interfere with the display of the
buffer.
The note reads:
;; Note that you should not try to use inline tasks within plain list,
;; visibility cycling is known to be problematic when doing so.
Thanks to Gregor Zattler for pointing at limitations in this area.
I started from the 78ec8e commit then cherry-picked and squashed
commits that have been done in master since then, except the bad
commits that overwrote the tree (in master) with the tree in maint.
This commit also bumps the version number to 7.8.06.
The only "fix" that was made between 78ec8e and the previous commit
is e0072f which has been reported to break stuff.
This fixes a wrong merge that should not have happened:
commit 7e903a merges the master branch into the maint branch,
while we really want to keep the maint branch a bugfix-only
branch.
This commit reverts back the maint branch to its state before
merging the master branch. From there, we will fix remaining
problems with the maint branch (e.g. copyright issues) then
release this maint branch as Org-mode 7.8.05.
* org-inlinetask.el (org-inlinetask-toggle-visibility): Use
`org-show-entry' instead of `outline-flag-region' to keep the
drawers folded when unfolding an inline task.
Thanks to Viktor Rosenfeld for requiring this.
Clocking only works with headings indented with less than `30' stars
(hardcoded `lmax' value in `org-clock-sum'). Since especially inline
tasks may dupe someone into using more stars, document the limit in
the docsring of `org-inlinetask-min-level'.
* lisp/org-inlinetask.el (org-inlinetask-goto-end): Correctly detect
the end of an inlinetask when the next one starts immediately after
the current one. Also, return position of point.
* lisp/org-indent.el (org-indent-inlinetask-first-star): new variable.
(org-indent-add-properties): set the first star of inline-tasks'
virtual indentation in `org-warning' face.
* lisp/org-inlinetask.el (org-inlinetask-insert-task): create a new
inline-task slightly differently, so virtual indentation can be
applied normally.
Also remove blank lines before the ";;; org*el ends here" declarations.
Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.
Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
* lisp/org-inlinetask.el (org-inlinetask-export-templates):
Fixed template for html so that the exported file is valid
xhtml. Added template for odt.
(org-inlinetask-export-handler): Fix typo in the regexp that
trims content. Make sure that the content is flanked by
paragraph boundaries on either side.
* lisp/org-html.el (org-export-html-style-default): Add style
for inlinetask.
* contrib/lisp/org-xhtml.el (org-export-xhtml-style-default):
Add style for inlinetask.
* contrib/odt/styles/OrgOdtStyles.xml: Added following custom
styles: OrgInlineTaskHeading and OrgInlineTaskFrame.
* contrib/lisp/org-odt.el (org-odt-format-textbox)
(org-odt-format-inlinetask): Added
Refer following threads:
1. http://lists.gnu.org/archive/html/emacs-orgmode/2011-08/msg00238.html
2. http://lists.gnu.org/archive/html/emacs-orgmode/2011-08/msg00154.html
Thanks to Suvayu Ali for reporting this issue and suggesting
improvements.
* lisp/org-inlinetask.el (org-inlinetask-export-handler): Don't export
inline tasks if the current backend has provided no entries in
org-inlinetask-export-templates.
* lisp/org-inlinetask.el (org-inlinetask-export-templates): fix
default templates.
(org-inlinetask-export-handler): Ensure contents of inline task, if
any, starts and ends with a newline character. Refactor and comment
code.
* lisp/org-inlinetask.el (org-inlinetask-promote,
org-inlinetask-demote): new functions.
* lisp/org.el (org-metaleft, org-metaright): when point is at an
inline task, promote or demote it.
* org-special-blocks.el
(org-special-blocks-make-special-cookies): Use
`org-export-current-backend'.
* org-publish.el (org-publish-aux-preprocess): Use
`org-export-current-backend'.
* org-inlinetask.el (org-inlinetask-export-handler): Use
`org-export-current-backend'.
* org-exp.el (org-export-current-backend): New variable.
(org-export-preprocess-string)
(org-export-format-drawer-function)
(org-export-remove-or-extract-drawers)
(org-export-format-drawer)
(org-export-convert-protected-spaces)
(org-export-select-backend-specific-text)
(org-export-mark-list-end, org-export-mark-list-properties)
(org-export-attach-captions-and-attributes)
(org-export-replace-src-segments-and-examples)
(org-export-format-source-code-or-example)
(org-export-number-lines): Use the new global variable instead
of a local variable.
* org-exp-blocks.el (org-export-blocks-format-ditaa)
(org-export-blocks-format-dot)
(org-export-blocks-format-comment): Use
`org-export-current-backend'.
* lisp/org-inlinetask.el (org-inlinetask-at-task-p,
org-inlinetask-toggle-visibility): new functions.
* lisp/org-list.el (org-list-set-item-visibility): new function.
* lisp/org.el (org-cycle, org-cycle-internal-local): separate lists
and inline tasks from headlines.
(org-outline-level): do not consider lists as headlines.
Cycling visibility is using different tools.
* lisp/org-inlinetask.el (org-inlinetask-export-templates): slightly
modify templates so environment boundaries don't interfere with
content of task. Unprotect content of task so it might benefit from
further transformations. Set original-indentation property to a high
value to ensure that task is always in the last item of the list.
Also, apply templates later in export process.
* lisp/org-list.el (org-list-struct): fix inline task skipping.