* lisp/org-table.el (org-table--increment-field): New function.
(org-table-copy-down): Use new function.
* testing/lisp/test-org-table.el (test-org-table/copy-down): New test.
* doc/org-manual.org (Calculations): Update documentation.
* lisp/org-attach.el (org-attach-url): Let-bind org-attach-method to
`url` so that org-attach-attach calls the correct method.
Before 72124726a (org-attach: Make dispatcher commands customizable,
2019-04-26), the dispatcher masked this issue by let-binding
org-attach-method around its call to org-attach-url.
Reported-by: stardiviner <numbchild@gmail.com>
<https://lists.gnu.org/archive/html/emacs-orgmode/2019-06/msg00130.html>
* org-mode/lisp/org-clock.el (org-clock-cancel): Clear
`org-clock-current-task' when a clock is canceled.
This variable is used by some mode line packages (e.g.,
spaceline-all-the-icons), so not clearing the variable incorrectly
displays the previous task as ongoing.
* lisp/ox.el (org-export-table-cell-alignment): Make
`org-export-table-cell-alignment' handle tables with rows containing
unequal numbers of cells.
Patch modeled after previous fix for `org-export-table-cell-width'.
TINYCHANGE
The convention is that a file with Author: but not Maintainer:
means the author is a maintainer, which makes it confusing
when a file lists the same person as author and maintainer.
Avoid the confusion by removing the duplicate Maintainer: line.
Remove Maintainer: when it duplicates Author:
797ee5871e458d6d97f57a24405412a053f5ef32
Paul Eggert
Sun May 26 01:00:15 2019 -0700
* lisp/org-id.el (org-id-link-to-org-use-id):
* lisp/org.el (org-support-shift-select, org-file-apps):
Remove backslash-newline that immediately precedes another
newline, as this is not the usual style and is confusing.
Avoid backslash-newline-newline in source code
5424436452bc0b3d8a62a8398f92d0c2db81e22b
Paul Eggert
Wed May 22 23:59:36 2019 -0700
* lisp/org-list.el (org-list-to-subtree): Add optional argument to
specify level of the subtree.
(org-list-make-subtree):
* lisp/org.el (org-toggle-heading): Adapt to signature change.
Reported-by: Felix Wiemuth <felixwiemuth@hotmail.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-06/msg00010.html>
* lisp/ox-html.el (org-html-do-format-code): If line numbers are enabled
then include a data-ox-html-linenr attribute that contains this line's
line number.
This allows you to have more control over line number formatting and
placement. For example, the following CSS hides the span that contains
the line number, and uses a CSS :before property to position and format
the line number with a border instead of a semi-colon separating content
and line number.
span.linenr { display: none; }
code[data-ox-html-linenr]:before {
content: attr(data-ox-html-linenr);
display: inline-block;
border-right: 1px solid;
width: 1rem;
text-align: right;
}
TINYCHANGE
* lisp/ox-html.el (org-html-do-format-code): Wrap each line of a source block
in a code element.
This makes it straightforward to add custom decorations to each line
using CSS :before and :after properties.
TINYCHANGE
* doc/org-manual.org, etc/ORG_NEWS: Document :target option
for the TOC keyword.
* lisp/ox.el (org-export-resolve-link): New function.
* lisp/ox-ascii.el (org-ascii-keyword): Added :target to the TOC
keyword.
(org-ascii--build-toc): Changed LOCAL argument to SCOPE.
* lisp/ox-html.el (org-html-keyword): Added :target to the TOC keyword.
* lisp/ox-md.el (org-md-keyword): Added :target to the TOC keyword.
(org-md--build-toc): Changed LOCAL argument to SCOPE.
* lisp/ox-odt.el (org-odt-keyword): Added :target to the TOC keyword.
* testing/lisp/test-ox.el (test-org-export/collect-headlines): Added
tests for specifying scope by CUSTOM_ID or by fuzzy matching.
(test-org-export/resolve-link): New test.
* lisp/org-clock.el (org-frame-title-format-backup): Use nil as initial value.
(org-clock-in): set `org-frame-title-format-backup' to `frame-title-format'.
(org-clock-restore-frame-title-format): New function.
(org-clock-out): Use it.
(org-clock-cancel): Use it.
The problem was that the `org-frame-title-format-backup' variable is
initialized on org-clock.el loading and future changes to `frame-title-format'
is ignored.
TINYCHANGE
* lisp/ox-latex.el (org-latex--label): Add "eq:" prefix for matrices.
(org-latex-link): Properly refer to matrices.
(org-latex--wrap-latex-matrices): Inherit name from first table.
(org-latex-matrices): Insert label within "equation" environment.
Reported-by: edgar@openmail.cc
<http://lists.gnu.org/r/emacs-orgmode/2019-05/msg00095.html>
* lisp/org-agenda.el (org-agenda-show-1):
* lisp/org-archive.el (org-archive-to-archive-sibling):
* lisp/org-crypt.el (org-encrypt-entry):
* lisp/org-feed.el (org-feed-update):
* lisp/org.el (org-set-visibility-according-to-property):
(org-move-subtree-down):
(org-paste-subtree):
(org-yank-generic):
* testing/lisp/test-org-inlinetask.el (test-org-inlinetask/folding-directly-consecutive-tasks/1): Use `org-flag-subtree' instead of `outline-hide-subtree'.
`outline-hide-subtree' leaves overlays on top of white spaces,
particularly at the end of the buffer. `org-flag-subtree' does not.
* lisp/org.el (org-fast-tag-selection): Wrap `save-window-excursion'
with `save-excursion'.
In the case when the tags are changed remotely from the agenda, and
the affected buffer is already visible in another window, the tag
change was applied to the currently visible line in the target buffer,
not the headline in the agenda.
* lisp/org-macro.el (org-macro--set-template): New function.
(org-macro--collect-macros): Also collect "author", "email", "title"
and "date" macros.
(org-macro-initialize-templates): Do not collect previous macros here,
when it is too late.
(org-macro--find-date): New function.
* testing/lisp/test-org-macro.el (test-org/macro-replace-all): Remove
test, since we cannot guarantee anymore that user-defined macros can
take precedence over built-in ones.
Reported-by: emsenn <emsenn@emsenn.net>
<http://lists.gnu.org/r/emacs-orgmode/2019-04/msg00234.html>
* lisp/ob-core.el (org-babel-execute-src-block): Fix behaviour of
":dir path" when ":mkdirp" is not defined.
* testing/lisp/test-ob.el (test-ob-core/dir-mkdirp): Add a test case.
TINYCHANGE
* lisp/org-table.el (org-table-map-tables): Apply function at the
beginning of the table, not at the first affiliated keyword, if any.
Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-04/msg00167.html>
* lisp/ox-latex.el (org-latex-image-default-scale): Nev variable.
(org-latex--inline-image): Handle new :scale parameter.
* doc/org-manual.org (Images in LaTeX export): document the new :scale
Introduce a :scale #+ATTR_LATEX parameter, as well as a "" default
value for it. When present, it overrides :width and :height
parameters (as it does for ODT export and in ox-pandoc exporters).
Implementation: uses \scalebox for tikz/pgf images, "scale=" parameter
of \includegraphics in other cases.
* lisp/ob-sql.el (org-babel-find-db-connection-param): New function.
Provide a new param called :dbconnection, that can be used to
reference connections defined in `sql-connection-alist', a custom
variable defined in sql.el.
TINYCHANGE
* lisp/org-table.el (org-table-range-regexp):
Omit or rewrite useless repetitions that risk being very slow in
the backtracking regexp engine in Emacs.
Omit/rewrite useless regexp repetitions
7ddd08bd3ebc48998062a7d29274cf080256a48f
Paul Eggert
Fri Apr 12 19:43:41 2019 -0700
* lisp/org-capture.el (org-capture-place-item): When there is no list
to augment, insert new list after planning info and properties
drawers.
* testing/lisp/test-org-capture.el (test-org-capture/item): Add tests.
Reported-by: Allen Li <darkfeline@felesatra.moe>
<http://lists.gnu.org/r/emacs-orgmode/2019-04/msg00060.html>
* lisp/org-src.el (org-src-get-lang-mode): New function.
(org-src--get-lang-mode): Rename to `org-src-get-lang-mode'.
(org-src-font-lock-fontify-block):
(org-edit-latex-environment):
(org-edit-export-block):
(org-edit-src-code):
(org-edit-inline-src-code): Use new function.
* lisp/org-eshell.el (org-eshell-open):
* lisp/org.el (org-deadline-time-hour-regexp)
(org-scheduled-time-hour-regexp):
Avoid attempts to chain ranges, as this can be confusing.
For example, instead of [0-9-_.], use [0-9_.-].
Improve regexp advice again, and unchain ranges
f9ff60e0d7288e30cdbd1e43225059f1374441f1
Paul Eggert
Tue Apr 2 15:01:34 2019 -0700
* lisp/org-capture.el (org-capture-fill-template): Prevent raising an
error when template is an empty entry.
* testing/lisp/test-org-capture.el (test-org-caputre/entry): Add test.
Reported-by: Roland Everaert <reveatwork@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-04/msg00019.html>
* lisp/org-datetree.el (org-datetree--find-create):
* lisp/org-pcomplete.el (org-thing-at-point):
Fix regular expression and similar syntax.
More minor regex cleanup
e14c0d748efe35afc653151ff18c4dd93dcc456e
Paul Eggert
Tue Mar 19 18:47:53 2019 -0700
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Could you provide a commit message for your patch?
* lisp/ob-core.el (org-babel-make-language-alias): Add edit-prep to
the list of defalias'ed functions.
* lisp/org-agenda.el (org-agenda-breadcrumbs-separator): New variable.
(org-agenda-format-item): Use org-agenda-breadcrumbs-separator
* etc/ORG-NEWS (New variable: ~org-agenda-breadcrumbs-separator~): New variable.
* lisp/ob-abc.el (org-babel-expand-body:abc, org-babel-execute:abc):
* lisp/ob-forth.el (org-babel-forth-session-execute):
Add backslash in regexp for correctness.
* lisp/org-list.el (org-plain-list-ordered-item-terminator):
Add backslash in doc comment so that it appears as intended.
Fix some ineffective backslashes in string literals
8832cc5f91a420db6bea65f381a3fb3597eb7523
Mattias Engdegård
Sat Mar 16 11:38:58 2019 -0700
* lisp/org-agenda.el (org-agenda):
* lisp/org-clock.el (org-clock-out, org-clock-display):
* lisp/org.el (org-refile):
Don’t trust arbitrary strings to not contain "%" or "`" in
(message (concat STRING1 STRING2 ...)).
Be safer about "%" in message formats
3739d51ef3b935b30e40ba4534fe362bc685865f
Paul Eggert
Thu Mar 7 09:05:56 2019 -0800
* lisp/org-lint.el (org-lint-non-existent-setupfile-parameter): Do not
warn when setup file is a URL.
* testing/lisp/test-org-lint.el (test-org-lint/non-existent-setupfile-parameter):
Add test.
Reported-by: Dominik Schrempf <dominik.schrempf@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-03/msg00169.html>
* lisp/ob-emacs-lisp.el (org-babel-execute:emacs-lisp,
org-babel-emacs-lisp-lexical): Factor out the conversion of the
:lexical source block argument to a form that is appropriate for
`lexical-binding' and the LEXICAL argument to `eval'.
* lisp/ob-emacs-lisp.el (org-babel-edit-prep:emacs-lisp): Set
`lexical-binding'.
* lisp/ob-emacs-lisp.el (org-babel-default-header-args:emacs-lisp):
Update docstring.