* org.el (org-insert-heading): Reveal context when called
interactively. Fix bug about wrong conversion of lines with
:END: or #+end_ into headlines.
(org-in-drawer-p): New function.
(org-meta-return): Use `org-catch-invisible-edits' and the
`org-in-drawer-p' to check whether we are within a drawer.
Thanks to Muchenxuan Tong and John Hendy who reported these errors.
* lisp/ox.el (org-export--skip-p, org-export--interpret-p): When
`org-export-with-footnotes' is nil, ignore completely footnotes
references and definitions instead of exporting them verbatim.
* testing/lisp/test-ox.el: Add tests.
* org.el (org-clone-subtree-with-time-shift): Unconditionally
ask for a time shift if there is a time-stamp. Don't ask for
a time shift when called with a universal prefix argument.
Thanks to Ingmar Meissner for raising this issue again.
* lisp/ox-beamer.el (org-beamer--frame-level): Small refactoring.
(org-beamer--format-block, org-beamer-headline): Do not systematically
downcase environment names as some require upper case in their
names (e.g. noteNH and CJK).
Thanks to James Harkins for reporting the bug.
* ob-core.el (org-babel-insert-result): Fix bug when inserting
results as a list: ensure we split a string containing "\n".
Thanks to Sébastien Vauban for reporting this.
* org.el (org-store-link): Don't add a search string when
storing a link from a radio target.
(org-open-at-point): Jump to the radio link (<<<radio>>>), not
to the simple target (<<target>>).
* lisp/ox.el (org-export-with-timestamps): Only applies to isolated
timestamps, i.e. timestamps in a paragraph containing only
timestamps and empty strings.
(org-export--skip-p): Skip timestamps according to new behaviour.
* testing/lisp/test-ox.el: Update tests.
* lisp/ob-core.el (org-babel-when-in-src-block): New macro.
(org-babel-execute-src-block-maybe)
(org-babel-expand-src-block-maybe)
(org-babel-load-in-session-maybe, org-babel-pop-to-session-maybe):
Use it.
org-babel-get-src-block-info is a potentially expensive operation, which
is why its ‘light’ argument exists. But in any case, it is overkill to
query the whole info, if all that is needed is whether point is in a
block or not. Factor the simplified common code out into a macro.
* org-datetree.el (org-datetree-find-month-create)
(org-datetree-find-day-create): Add a docstring.
(org-datetree-find-year-create): Only match headlines with a
year or a year and one or more tags.
Thanks to Suvayu Ali for reporting this.
* lisp/ob-core.el (org-babel-execute-src-block): Use `copy-tree'
to prevent setf from modifying users variables withing let-bound
`info' variable.
Otherwise, the setf calls in this function can reach into and change
other configuration variables, such as the library of babel.
* lisp/ob-exp.el (org-export-babel-evaluate): Add a 'inline-only option.
(org-babel-exp-results): Implement 'inline-only for
`org-export-babel-evaluate'.
* doc/org.texi (Exporting code blocks): Document the 'inline-only setting
for `org-export-babel-evaluate'.
This is useful because there is no way for inline results to be stored.
The imagined usecase is that all non-inline source blocks will be
evaluated manually by the user. Inline blocks, however, must be
evaluated during export, or they will be simply deleted by the exporter.
* ox.el (org-export-stack-mode)
* org-crypt.el (org-crypt-check-auto-save)
(org-crypt-use-before-save-magic): Use `org-add-hook' when the
hooks are local hooks.
* org-indent.el (org-indent-mode)
* org-agenda.el (org-agenda-mode): Use `org-add-hook' and
merge upstream change from Emacs revno r112320.
* lisp/ob-perl.el (org-babel-perl-wrapper-method): Select output
handle only after evaluation so that output is not mixed into
results eavaluation.
(org-babel-perl-evaluate): Fix the handling of results for ":results
output" to also parse tables. Use the same lambda construction as
in ob-sh.el to avoid code duplication.
* lisp/ox-latex.el (org-latex--script-size): Use \text command for
subscript and superscript. This is far superior to \mathrm, but it
requires "amstext" package. In particular, accented characters are
now allowed within sub/superscript.
* lisp/org.el (org-latex-default-packages-alist): Add "amstext"
package.
* org-agenda.el (org-agenda-drag-line-forward)
(org-agenda-drag-line-backward): New commands.
(org-agenda-mode-map): Bind the new commands to M-<down> and
M-<up> respectively.
* org.texi (Agenda commands): Add a table heading for dragging
agenda lines forward/backward.
* org-agenda.el (org-agenda-bulk-toggle): Fix docstring.
(org-agenda-bulk-toggle-all): New command.
(org-agenda-mode-map): Bind `org-agenda-bulk-toggle' to `M-m'
and `org-agenda-bulk-toggle-all' to `M-*'.
(org-agenda-menu): Add `org-agenda-bulk-toggle' and
`org-agenda-bulk-toggle-all'.
(org-agenda-bulk-mark, org-agenda-bulk-unmark): Jump to the
next headline, not the next line.
* org-capture.el (org-mks): Fix bug: let-bind
`case-fold-search' to nil while matching the first letter of a
multi-letters template.
Thanks to Robert Goldman for reporting this bug and providing the fix.
* lisp/ox-latex.el: Remove instructions since everything is documented
in Org manual.
* lisp/ox.el (org-export-with-smart-quotes): Use LATEX instead of
LaTeX for keywords, the latter being hard to type, somewhat
difficult to read, and overall just pedantic.
* ox-latex.el (latex): Don't force exporting with smart
quotes.
* ox.el (org-export-with-smart-quotes): Mention the need to
use the relevant Babel package when setting this option to
non-nil.
Before the fix, if the user used #+LANGUAGE: fr with no other
customization, the quotes would disappear from the PDF output.
That's because smart quotes were enforced, while the .tex file
needs \usepackage[french]{babel} to display the quotes.
We now don't force the smart quotes and give more explanations
in `org-export-with-smart-quotes'.
* org-src.el (org-edit-src-turn-on-auto-save): New option.
(org-edit-src-code): Use it.
(org-edit-src-auto-save-idle-delay): Enhance docstring.
* doc/org.texi (Editing source code): Document
`org-edit-src-auto-save-idle-delay' and
`org-edit-src-turn-on-auto-save'.
Thanks to Charles C. Berry for bringing this up again.
* doc/org.texi (Header and sectioning): Add a footnote about the
different between LATEX_HEADER_EXTRA and LATEX_HEADER.
* lisp/ox-latex.el (org-latex-classes): Be more explicit about
LATEX_HEADER_EXTRA.
* lisp/ox-html.el (org-html-headline): Use (new) org-html--container
function to set container element.
(org-html--container): Returns appropriate element for headline
container:
1. The element set on the headline :HTML_CONTAINER property.
2. the :html-container element (if the relative headline level
is 1.)
3. The default ("div").
* org.el (org-shifttab): Show the correct number of empty
headlines when called with a numeric prefix argument. Enhance
docstring.
Thanks to Michael Crouch for reporting this bug and providing the fix.
* lisp/ox.el (org-export-filters-alist): Remove macro filter.
(org-export-filter-macro-functions): Remove variable.
Macro filters are never called since macro expansion happens before
the export process.
* org.el (org-adaptive-fill-function, org-fill-paragraph):
Throw a useful error message when parse an element fails in
the current buffer.
This can happen for example in a `message-mode' buffer when using
orgstruct-mode. If you insert a line like:
SCHEDULED: <2013-04-13 Sat> is blablabla
then org-element-at-point will fail and the user will get an error
he cannot understand.
* lisp/ox-beamer.el (beamer): Install a default class set-up when
loading library.
This change should provide a meaninfgul export even if user forgot to
set-up `org-latex-classes'.
* org-clock.el (org-clock-select-task): Remove successive
duplicates in the clock history to consider.
Thanks to Sébastien Vauban for pointing at this.
* lisp/ob-exp.el (org-babel-exp-results): Suppress user confirmation
of the emacs-lisp wrapper execution around a lob call.
* lisp/ob-lob.el (org-babel-lob-execute): Suppress user confirmation
of the emacs-lisp wrapper execution around a lob call.
* lisp/org.el (org-read-date-get-relative): Handle positive and
negative weekday specifications so that they don't return today.
If today is Friday, "fri" should mean next Friday. This changes
the previous behavior, which required you to specify "+2fri" in
order to mean next Friday if today was Friday. If you want to
schedule something for today, you can use ".".
* doc/org.texi (The date/time prompt): Update the documentation
to reflect the new way `org-read-date-get-relative' handles
weekdays.
TINYCHANGE
* org.el (org-make-tags-matcher, org-change-tag-in-region):
Add buffer's tags to the tags completion table.
(org-tags-expand): Prevent circular replacement of group tags.
Tiny docstring formatting.
(org-uniquify): Make a defsubst. Use `delete-dups' instead of
`add-to-list'.
Thanks to Christian Moe for reporting the bug about group tags.
* org.el (org-forward-heading-same-level): Fix bug when
forwarding to a hidden subtree of the same level.
Thanks to Bernt Hansen for reporting this bug.
* org-clock.el (org-clock-insert-selection-line): Don't
display the clockout time.
This partially reverts commit ff4b7a47, which introduced this, but
Bernt Hansen confirmed this was not practical in some circumstances.
* org.el (org-emphasis-regexp-components): Make a defvar.
This used to be a defcustom (Org <8.0) but allowing the users to
set this option proved cumbersome. See this message/thread:
http://article.gmane.org/gmane.emacs.orgmode/68681
* org-mobile.el (org-mobile-edit): Insert new headings at the
end of the parent subtree. Use `org-at-heading-p' instead of
the obsolete `org-on-heading-p'.
Thanks to James Harkins for reporting this.
* org.el (org-insert-heading-respect-content): Fix docstring.
(org-insert-heading): When in a non-empty non-headline line,
convert the current line into a headline.
Thanks to Bernt Hansen for reporting this issue.
* org-table.el (org-table-copy-down): Don't move cursor when
getting the field.
This prevents the point from moving when inadvertently calling
S-RET outside of a table.
* lisp/ox-latex.el (org-latex--inline-image): Remove specific default
image width for floats. If no width nor height is provided, it
should default to `org-latex-image-default-width' value.
* lisp/ox-html.el (html): Rename :html-table-tag property
into :org-table-attributes.
(org-html-table-default-attributes): New variable.
(org-html-table-tag): Removed variable.
(org-html--make-attribute-string): New function.
(org-html-link--inline-image, org-html-table): Use new function.
* doc/org.texi: Document variable changes.
It is now possible to write properties and values in attributes lines
without falling back on `:options':
#+attr_html: :border 1
| a |
* ox.el (org-export-options-alist, org-export--skip-p): Use
`:with-planning' instead of `:with-plannings', to keep in sync
with the corresponding option's name.
* lisp/ox-html.el (org-html-metadata-timestamp-format): New variable,
renamed from `org-html--timestamp-format'.
(org-html--build-meta-info, org-html-format-spec,
org-html--build-pre/postamble): Use new variable.
* org-clock.el (org-clock-select-task): Fix window to buffer.
Hide the cursor.
(org-clock-insert-selection-line): Add the clock-out time.
Thanks to Bernt Hansen for reporting the issue about the window.
(org-table-make-reference): A range with only empty fields should lead
to length 0.
* testing/lisp/test-org-table.el: Adapt expected for several
ert-deftest.
The range len bugs may lead to wrong calculations for range references
with empty fields when the range len is relevant. Affects typically
Calc vmean on simple range and without format specifier EN. Also
Lisp with e. g. `length' on simple range or with L.
It is worth a small compatibility change: For a range with only empty
fields it is now possible and necessary to choose different behaviors
of vmean by adding the format specifiers E and/or N.
This is a follow-up of commit
764315b3fc.
* ox-html.el (org-html-table-row-tags): Allow new dynamically
bound value `row-number'.
(org-html-table-row): Bind `row-number' to the number of the
row (first row is 0).
* org.el (org-minutes-to-clocksum-string): Round fractions of
minutes.
When adding efforts values in the column view, "0:20" will first be
converted as 0.333333333 hour. When converting the final sum, we
now round the final sum of minutes (e.g. 99.999999999) to get the
correct hour displa (i.e. 1:40 instead of 1:39).
* org-agenda.el (org-agenda-span-to-ndays): Enhance docstring.
(org-agenda-goto-date): Fix bug when going to a date in month
view.
Thanks to Eric S Fraga for reporting this bug.
* ox-html.el (org-html-table-row): Dynamically bind
`rowgroup-number', `start-rowgroup-p', `end-rowgroup-p',
`top-row-p', `bottom-row-p'.
(org-html-table-row-tags): Update docstring: tell what
variables are dynamically bound.
Thanks to Stefan Vollmar for raising this problem.
* org-src.el (org-edit-src-code): Don't set
`buffer-auto-save-file-name' unless `auto-save-default' is
non-nil.
Thanks to Charles Berry for reporting this.
Because in actuality the call line expands to an Emacs Lisp code
block.
* lisp/ob-lob.el (org-babel-lob-execute): Include default elisp header
args in call lines.
* lisp/ox-html.el (org-html-postamble-format,
org-html-preamble-format): Allow last modification time of source in
template.
(org-html-format-spec): Produce last modification time when the source
is a file.