* org.el (org-mode): Set `paragraph-start'.
The value inherited from outline-mode is wrong because
outline mode does not enforce the space after the star
while Org-mode does.
outline-mode value for `paragraph-start' prevents filling
paragraphs containing a string like " -- *bold*": in this
case, fill-paragraph might think that the "*b" part of the
string starts a paragraph while it does not.
Thanks to Samuel Wales for reporting this.
* org-agenda.el (org-agenda-entry-text-leaders): New option.
(org-agenda-entry-text-show-here): Use it.
Thanks to Sébastien Vauban for a preliminary patch for this.
* ox-html.el (org-html-link--inline-image): Always retrieve
attributes for inline images.
(org-html-link): Fix trailing whitespace at the end of the
opening <a ...> HTML tag.
Thanks to John Hendy for forcing me to focus on this :)
* ox-html.el (org-html-headline): For headlines whose first
element is a headline and not a section, pretend there is an
empty section (as "") for the correct HTML div to be inserted.
This fixes a bug wrt org-info.js. Thanks to Nicolas for
guiding me through this patch.
* org-agenda.el (org-agenda-collect-markers)
(org-create-marker-find-array): Move to ox-icalendar.el.
(org-agenda-marker-table, org-check-agenda-marker-table):
Delete.
* ox-icalendar.el (org-icalendar-create-uid): New parameter
H-MARKERS to only update some headlines, not the whole file.
(org-icalendar--combine-files): When exporting to an .ics file
only add UID to the headlines shown in the agenda buffer.
(org-agenda-collect-markers, org-create-marker-find-array):
Move here.
* ox-html.el (org-html-inner-template): Add the document title
here, within the "content" class, as the org-info.js needs it.
(org-html-template): Don't include the document's title here.
(org-html-format-inlinetask-function): Remove wrong example.
Although counter-intuitive and certainly weird, the
<h1 class="title"> string needs to be within the "content"
div, not before it. We would need the developer of org-info.js
to update org-info.js to put the title outside of "content".
* lisp/ox-latex.el (org-latex-format-headline-default-function): Use
declarative shape to nest makup for TODO keywords. Previous syntax
generated errors during export.
* lisp/ox.el (org-export-async-start): Ignore `org-mode-hook' and
`kill-emacs-hook'. The first one has been run in the original
buffer. The second is not necessary and can pollute output to
a temporary buffer (e.g. with `org-clock-persistence-insinuate').
Export commands can be restricted to a specific subtree. When using a
prefix argument to org-export-dispatch, the restriction did not stick,
i.e. the command would be restricted to whatever note the cursor
happens to be in. This made it difficult to repeat export of a
subtree while editing it. This change introduces a new marker and
uses this marker to remember the cursor position of the previous
export command. So repeating a subtree-restricted command will now
re-export the same subtree, provided you are still in the same
buffer. To break this connection, just make a new export without
relying on the prefix argument.
* lisp/ox.el (org-export-dispatch-last-position): New variable
(org-export-dispatch): Save position of cursor at the moment when
the export command is called. Restore that position temporarily
when repeating the previous export command.
Reverting "Fix a typo I introduced while editing Achim's commit 091bf0"
Reverting "ob-core.el: Do not ask for confirmation if cached value is current"
This reverts commit 091bf02514.
* org.el (org-mode): Add `org-fix-ellipsis-at-bol' to
`isearch-mode-end-hook' so that any isearch fixes the problem with
ellipsis on the first line.
(org-fix-ellipsis-at-bol): New defsubst.
(org-show-context, org-isearch-end): Use it.
* org-agenda.el (org-agenda-deadline-leaders): New formatting
string for past deadlines.
(org-agenda-scheduled-leaders): Small change.
(org-agenda-get-deadlines): Use the new formatting string.
Thanks to Sébastien Vauban who suggested this idea and proposed
a preliminary patch for it.
* lisp/org.el (org-do-latex-and-related): Fix infloop when user
provides a wrong value for `org-highlight-latex-and-related'. In
this case, `org-latex-and-related-regexp' is the empty string and
generates an infloop since matching it doesn't move point.
* ob-core.el (org-babel-execute-src-block): Do not run
`org-babel-confirm-evaluate´ if source block has a cache and the
cache value is current (there is no evaluation involved in this
case).
* org.el (org-show-context): Remove useless catch. Make sure the
top of the window is a visible headline.
* org.el (org-activate-plain-links): Remove unused catch.
* org-macs.el (org-get-alist-option): Return nil, not (nil), so
that `org-show-context' DTRT.
Thanks to Samuel Wales for his patience in reporting this.
* org.el (org-overview): Stay on current line.
This circumvents a bug in hide-sublevels which displays the
"..." ellipsis on top of the window when hiding levels that
are past the middle of the window---at least this is the
way I could understand the problem.
Thanks to Samuel Wales for reporting the problem, Arun Persaud and
William for creating reproducible recipes, Suvayu Ali, Nick Dokos
and Achim Gratz for further help.
* lisp/ox-latex.el (org-latex-compile): Add an optional argument for
latex snippet previewing.
* lisp/org.el (org-create-formula-image-with-imagemagick): Use
`org-latex-compile' instead of rewriting it.
* lisp/org.el (org-create-formula--latex-header): New function.
(org-create-formula-image-with-dvipng,
org-create-formula-image-with-imagemagick): Use new function.
This functionality was removed in
0484c5c64d, when clearing out old export
framework from "org.el".
* lisp/ox.el (org-export-get-previous-element): Change order of
retured elements in `org-export-get-previous-element'.
* testing/lisp/test-ox.el: Update test.
* lisp/org-element.el (org-element-all-successors): Add `plain-link'
successor.
(org-element-object-restrictions): Remove `link' within `link'. Allow
`plain-link' instead.
(org-element-plain-link-successor): New function.
* testing/lisp/test-org-element.el: Add test.
Plain links within links are needed for the following kind of syntax:
[[http://orgmode.org][file:unicorn.png]]
No other link type is allowed within links.
* lisp/org.el (org-match-substring-regexp,
org-match-substring-with-braces-regexp): Update regexp.
A sub/superscript cannot start anymore at the beginning of the line
or after a space.
* lisp/ox-texinfo.el (org-texinfo--format-menu): Ensure two spaces
after :: before including description. Also adjusted logic to
insert description on desired column (by accounting for added text
when inserting node.
property
* lisp/ox-texinfo.el (org-texinfo--get-node)
and (org-texinfo--generate-menu-items): Use :OPTIONAL_TITLE:.
(org-export-define-backend): Remove :TEXINFO_MENU_TITLE from
options-alist
* lisp/ox-texinfo.el (org-texinfo-node-description-column): New custom
variable.
(org-texinfo--format-menu): Use new variable to set column for
description in node listings. If the headline extends past this
column, add the description after the headline.
The default column is 32 as suggested by Thomas S. Dye,
http://article.gmane.org/gmane.emacs.orgmode/66664
* lisp/ox-texinfo.el (org-texinfo-link): Fixed info link exporting to
recognize # as well as : when finding the info node.
Issue reported by Thomas S. Dye in
http://article.gmane.org/gmane.emacs.orgmode/66655
* lisp/ox-texinfo.el: Included support for appendices.
To include appendices, use a non-nil value for the :APPENDIX: property
of a headline. This headline will be exported at the appropriate
level as an appendix.
* org-macs.el: Don't define `with-silent-modifications' for
emacsen that don't have it.
* org-compat.el (org-with-silent-modifications): New
compatibility macro.
* org.el (org-refresh-category-properties)
(org-refresh-properties, org-entry-blocked-p)
(org-agenda-prepare-buffers):
* org-indent.el (org-indent-remove-properties)
(org-indent-add-properties):
* org-colview.el (org-columns-display-here)
(org-columns-remove-overlays, org-columns-quit)
(org-columns-edit-value, org-columns-compute-all)
(org-columns-compute, org-agenda-colview-compute):
* org-clock.el (org-clock-sum): Use the compatibility macro
`org-with-silent-modifications' instead of
`with-silent-modifications'.
Thanks to Achim for a preliminary patch.
* lisp/org-datetree.el (org-datetree-find-year-create): Also match
headlines with tags.
Change made to fix the problem where a year headline of a
datetree was not matched if it had a tag. The :NOEXPORT: tag
is one useful case that should be matched.
Initial problem observation reported by Jeffrey McBeth on the
org-mode mailing list.
TINYCHANGE
* org.el (org-sort-remove-invisible): Use defsust. Do not
only check against invisible links, truly returns the visible
part of the string.
Thanks to François Pinard for suggesting this.
* org.el (org-sort-remove-invisible): Add a docstring.
(org-sort-entries): Remove hidden links when comparing
entries.
* org-list.el (org-sort-list): Remove hidden links when
comparing list items.
Thanks to François Pinard for suggesting this.
* lisp/ox-html.el (org-html-toc, org-html--toc-text): Change to
docstring.
(org-html-list-of-listings, org-html-list-of-tables): New functions.
(org-html-keyword): Use new functions.
(org-html-src-block): Add an ID attribute when a name is given.
* lisp/org-element.el (org-element-footnote-definition-parser):
Require 2 blank lines to separate footnote definition.
* lisp/org-footnote.el (org-footnote-at-definition-p): Require 2 blank
lines to separate footnote definition.
* doc/org.texi: Update documentation for footnotes.
* testing/lisp/test-org-element.el: Update tests.
* testing/lisp/test-org-footnote.el: Add tests.
Footnote definitions can still be separated with other footnote
definitions and headlines. This change allows to have multiple
paragraphs in a footnote definition without resorting to the "\par"
trick.
* lisp/ox.el (org-export-stack): Rewrite.
(org-export-stack-refresh): Refactor.
(org-export-stack-remove, org-export-stack-view): Apply renaming.
(org-export-stack-mode-map): Use tabulated list map as a basis.
(org-export-stack--generate, org-export-stack--num-predicate): New
function.
* lisp/ox.el (org-export-get-optional-title): Return regular title
when no optional title is found.
* lisp/ox-ascii.el (org-ascii--build-title): Apply change to
`org-export-get-optional-title'.
* lisp/ox-html.el (org-html--format-toc-headline): Apply change to
`org-export-get-optional-title'.
* lisp/ox-latex.el (org-latex-headline): Apply change to
`org-export-get-optional-title'.
* testing/lisp/test-ox.el: Add tests.
* org.el (org-agenda-prepare-buffers): Don't use
`with-silent-modifications' too early.
Thanks to J. David Boyd for reporting this and to Florian Beck for
confirming the problem.
* lisp/ox-ascii.el (org-ascii--build-title): Add an argument. Use
optional title when building a toc line.
(org-ascii--build-toc): Call `org-ascii--build-title' with appropriate
arguments.
* lisp/ox-latex.el (org-latex-headline): Use optional title for table
of contents.
* lisp/ox-html.el (org-html--toc-text): Renamed from
`org-html-toc-text'. Add docstring.
(org-html--format-toc-headline): Renamed from
`org-html-format-toc-headline'. Add docstring. Use optional title if
possible.
(org-html-toc): Add docstring.
* lisp/org-element.el (org-element-headline-parser): Node
property :OPTIONAL_TITLE: in a headline will be parsed and stored
under :optional-title property.
* lisp/ox.el (org-export-get-optional-title): New function.
* lisp/ox-publish.el (org-publish-resolve-external-fuzzy-link): No
error when resolving external fuzzy links outside publishing. Though
search option for these links will not be resolved.
* org-macs.el: Add a comment on when to use `org-unmodified'
and when to use `with-silent-modifications'.
* org-colview.el (org-columns-display-here)
(org-columns-remove-overlays, org-columns-quit)
(org-columns-edit-value, org-columns-compute-all)
(org-columns-compute, org-agenda-colview-compute):
* org-clock.el (org-clock-sum):
* org.el (org-refresh-category-properties)
(org-refresh-properties, org-entry-blocked-p)
(org-agenda-prepare-buffers): Use `with-silent-modifications'
instead of `org-unmodified'.
Thanks to Stefan Monnier for reminding me about `with-silent-modifications'!
* org.el (org-tsr-regexp-both): Don't activate dates in links.
(org-activate-dates): Change match boundaries according to the
new value of `org-tsr-regexp-both'.
Thanks to Richard Huang for reporting a related issue.
* ox-latex.el (org-latex-format-headline-default-function):
New option.
(org-latex-format-headline-function): Use the new option as
the default value.
The rationale here is that most users will expect Org 8.0
to format headlines like Org <8.0 did. If they want a different
formatting, then they can use `org-latex-format-headline-function'.
* lisp/ox.el (org-export--generate-copy-script): Clone
`buffer-file-coding-system' when creating a buffer copy.
This patches makes sure the output will share the same encoding as the
original buffer.
* ob-python.el (org-babel-python-command): Use a defcustom.
(org-babel-python-mode): Use a defcustom and default to
'python-mode when featured.
Thanks to Andreas Röhler for providing a prelimiary patch.
* lisp/org.el (org-current-time): Replace call to obsolete function
`time-to-seconds´ with a call to compatibility function
`org-float-time´.
XEmacs 21.5 already has float-time, so we may not need a compatibility
function here depending on what version of XEmacs introduced it and
what is the earliest version that Org is supposed to still support.
* lisp/ox-html.el (org-html-link): Resolve external links with search
options like [[file.org::#custom-id]] or
[[file.org::*headline-search]].
In particular, this allows to resolve completely links produced by
index generation during publishing.
* lisp/ox-publish.el (org-publish-collect-numbering,
org-publish-resolve-external-fuzzy-link): New functions.
(org-publish-org-to): Add new collecting function to final output
filter. Move index collecting function to the same filter.
(org-publish-collect-index): Called from final output filter.
An external fuzzy link is: [[file.org::*headline search]]
* lisp/ox-html.el (org-html-format-headline--wrap, org-html-headline):
Use :CUSTOM_ID, not :custom-id.
* contrib/lisp/ox-deck.el (org-deck-toc): Use :CUSTOM_ID,
not :custom-id.
* org-protocol.el:
* org-bibtex.el: Remove remember support.
* org-clock.el (org-clock-heading-for-remember): Delete.
(org-clock-in): Do not set the heading for remember.
Users are encouraged to migrate their remember templates to
`org-capture-templates' instead of `org-remember-templates'.
See `org-capture-import-remember-templates' on how to ease
the transition.
* lisp/ox-latex.el (org-latex-property-drawer): Remove function.
* contrib/lisp/ox-groff.el (org-groff-property-drawer): Remove
function.
This changes ensures that:
paragraph
# comment
another paragraph
will be exported as:
paragraph
another paragraph
and not as:
paragraph
another paragraph
It only applies on back-end where empty lines are meaningful (e.g. not
html).
* org.el (org-move-subtree-down, org-forward-element)
(org-backward-element):
* org-table.el (org-table-previous-field)
(org-table-move-column, org-table-move-row):
* org-list.el (org-move-item-down, org-move-item-up)
(org-cycle-item-indentation): Use `user-error' when moving or
modifying the element at point is not possible.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Allow to
span documentclass options accross multiple lines in template.
* lisp/ox-beamer.el (org-beamer-template): Allow to span documentclass
options accross multiple lines in template.
* lisp/ox-latex.el (org-latex-template): Allow to span documentclass
options accross multiple lines in template.
Thanks to Michael Strey for reporting this bug.
* lisp/ox-texinfo.el (org-texinfo--get-node): New function.
(org-texinfo-headline, org-texinfo-link): Use new function.
The same function is used to create @node entries and links to nodes,
to avoid any discrepancy between them
* org-agenda.el (org-agenda-local-vars): Don't include
`org-agenda-show-window' as it needs to be checked outside of
the agenda window.
Thanks to Bernt Hansen for reporting this.
* org-compat.el (org-file-equal-p): New compatibility function.
* ox.el (org-export-output-file-name): Use the new function.
Thanks to Mark Edgington for reporting this.
* org-clock.el (org-clock-set-current)
(org-clock-delete-current): Delete.
(org-clock-in, org-clock-out): Set and delete
`org-clock-current-task'. Minor code clean-up.
* org-clock.el (org-clock-in, org-clock-in-last): Tell
`org-current-time' to always return a past time.
* org.el (org-current-time): New argument `past' to force
returning a past time when rounding.
If (setq org-clock-rounding-minutes 5) and time is 12:33
the clock start time would be 12:35, and the clock mode-line
would display 0:-2. The fix ensures the rounded value is
always in the past.
* org-agenda.el (org-agenda-unmark-clocking-task): New
function.
(org-agenda-mark-clocking-task): Use it.
(org-agenda-clock-in): Let the cursor where it is.
(org-agenda-clock-out): Ditto. Also remove the
`org-agenda-clocking' overlay.
* org.el (org-next-link): New parameter `search-backward'.
Fix bug when at a link with no 'org-link face, e.g., in a DONE
headline. Throw a message instead of an error.
(org-previous-link): Use `org-next-link'.
* lisp/ox-publish.el (org-publish-index-generate-theindex): Do not
create an "* Index" headline in "theindex.inc". Though, create an
"Index" title in fallback "theindex.org".
* org.el (org-mode): Don't make characters from
`org-emphasis-alist' word constituants.
(org-mode-transpose-word-syntax-table): Rename from
`org-syntax-table'.
(org-transpose-words): Use
`org-mode-transpose-word-syntax-table'.
Thanks to Achim Gratz and T.F. Torrey for reporting the broken tests.
When using C-RET to insert a new headline, the new headline was
inserted after arbitrary amounts of whitespace at the end of the
subtree. This whitespace is now shrunk, to avoid unnatural spacing.
* lisp/org.el (org-insert-heading): Shrink whitespace at end of
subtree when `org-insert-heading-respect-content' is on.