* lisp/org-macs.el (org-replace-match-keep-properties): Remove function.
This function is unused through the code base and doesn't specifically
belong to a public API.
* lisp/org.el (org-find-if): Remove function.
(org-key):
* contrib/lisp/org-contacts.el (org-contacts-db-need-update-p):
(org-contacts-filter):
(org-contacts-test-completion-prefix):
(org-contacts-remove-ignored-property-values): Use `cl-find-if'
* lisp/org-compat.el (org-find-if): Mark function as an obsolete alias
for `cl-find-if'.
* lisp/org.el (org-set-effort): Use `equal' instead of `string='.
Since (string= "nil" nil) is non-nil, a "nil" heading could be mistaken
for the current clocked task if `org-clock-current-task' is not bound,
or if there is no current clocked task.
* lisp/ox.el (org-export-get-footnote-definition): When a definition is
empty, but does exist, return the empty string instead of raising an
error.
* testing/lisp/test-ox.el (test-org-export/get-footnote-definition): New
test.
Reported-by: Mark Edgington <edgimar@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/107873>
* doc/org.texi (Sources and destinations): Document new signature.
* lisp/ox-publish.el (org-publish-project-alist): Update docstring.
(org-publish-projects): Call preparation and
completion functions with the project properties as the sole argument.
`project-plist' used to be dynamically scoped. This is no longer
possible due to the switch to lexical binding.
Reported-by: Arun Isaac <arunisaac@systemreboot.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/107856>
* lisp/ob-lob.el (org-babel-lob-files): Remove variable.
(org-babel-library-of-babel): Fix docstring.
Since its creation, `org-babel-lob-files' has been a no-op. Since no-one
noticed it during those 7 years, it can safely be removed.
Reported-by: "Charles C. Berry" <ccberry@ucsd.edu>
<http://permalink.gmane.org/gmane.emacs.orgmode/107824>
* lisp/ob-exp.el (org-babel-exp--at-source): New macro.
(org-babel-exp-in-export-file): Remove macro.
(org-babel-exp-src-block): Remove unused argument. Use new macro.
(org-babel-exp-process-buffer): Apply signature change above. Put
temporary properties on top of Babel code so as to find original
location without relying on heuristics.
(org-babel-exp-results): Use new macro.
Export process has to know context of Babel code being evaluated (e.g.,
so as to retrieve parameters from node properties). However, evaluating
previous code can drastically change the buffer. The library used some
heuristics to find the original location. Those are not necessary
anymore.
* lisp/ob-sql.el (org-babel-sql-dbstring-mssql): Format Microsoft
`sqlcmd' command line args.
(org-babel-sql-convert-standard-filename): Convert a Posix path to
Windows long path in Cygwin environment, or do nothing.
(org-babel-execute:sql): Add `mssql' engine support and remove support
for `msosql' engine.
The `osql' command line tool was last updated in 2004,
https://technet.microsoft.com/en-us/library/aa214012(v=sql.80).aspx, and
could not output the query result in a way that morden `org-table.el'
expects. The `sqlcmd' is the preferred command line tool to connect the
Microsoft SQL Server and it also has a Linux version,
https://msdn.microsoft.com/en-us/library/hh568447(v=sql.110).aspx.
TINYCHANGE
* lisp/ob-lob.el (org-babel-default-lob-header-args): Merge value with
`org-babel-default-header-args' since this variable is meant to
replace the latter.
(org-babel-lob-ingest): Make sure `org-babel-default-lob-header-args' is
used instead of `org-babel-default-header-args'.
(org-babel-lob--src-info): New function.
(org-babel-lob-get-info): Use new function. Make return value
a replacement for `org-babel-get-src-block-info'.
(org-babel-lob-execute): Use `org-babel-execute-src-block' instead of
duplicating functionalities.
* lisp/ob-exp.el (org-babel-exp-process-buffer): Apply changes to
`org-babel-lob-get-info' return value.
* testing/examples/ob-header-arg-defaults.org:
* testing/lisp/test-ob-header-arg-defaults.el (test-ob-header-arg-defaults/tree/accumulate/call):
(test-ob-header-arg-defaults/tree/complex/call):
(test-ob-header-arg-defaults/tree/overwrite/call):
* testing/lisp/test-ob-lob.el (test-ob-lob/caching-call-line):
(test-ob-lob/named-caching-call-line): Update tests.
The purpose of this commit is to make Babel calls more
predictable (e.g., wrt property inheritance) and to remove code
duplication. Also, Babel calls results are no longer treated as Emacs
Lisp values.
* lisp/org-element.el (org-element-inline-babel-call-parser): Empty
arguments return nil instead of the empty string, so as to be on par
with `org-element-babel-call-parser'.
* lisp/org-timer.el (org-timer-set-timer): The user can always set the
timer with a numeric prefix argument.
Before, when the effort property has been set, the user lost control to
explicitly set the timer to a different time.
* lisp/ob-core.el (org-babel-goto-named-src-block): The user prompt
(i.e. `initial-input' arg of `completing-read') will be the name of
the results block, noweb reference, call reference, or symbol if
point is in such.
* testing/lisp/test-ob.el (test-ob/goto-named-src-block): Simulate
interactive use of `org-babel-goto-named-src-block'.
* lisp/org.el (org-insert-heading): Do not reveal gratuitously too much
context before inserting an item.
* testing/lisp/test-org.el (test-org/insert-heading): Add test.
Reported-by: Steinar Bang <sb@dod.no>
<http://permalink.gmane.org/gmane.emacs.orgmode/107665>
* lisp/org-element.el (org-element--parse-paired-brackets): New function.
(org-element-inline-babel-call-parser):
(org-element-inline-src-block-parser): Use new function.
* testing/lisp/test-org-element.el (test-org-element/inline-src-block-parser):
Add test.
Reported-by: Charles Millar <millarc@verizon.net>
<http://permalink.gmane.org/gmane.emacs.orgmode/107629>
* lisp/org.el (org-get-tags-at): Use non-greedy match up to colon to
match all tags (and not just the last.)
* testing/lisp/test-org.el (test-org/tags-at): One test to cover the
issue.
* lisp/ox-texinfo.el (texinfo): Add transcoders.
(org-texinfo-text-markup-alist): Allow `strike-though' and `underline'
as keys. Remove unused `comment'.
(org-texinfo-strike-through):
(org-texinfo-underline): New functions.
By default, new markup produce no Texinfo code, but can be customized by
users for specific uses.
* lisp/org-colview.el (org-columns--summary-min-age):
(org-columns--summary-max-age):
(org-columns--summary-mean-age): Fix argument name in docstrings.
* lisp/org.el (org-deadline-close): A timestamp is close if the days
between now and the timestamp are less then or equal to the days of
lead time.
* testing/lisp/test-org.el: Add tests for org-deadline-close.
* lisp/org.el (org-deadline-close): A timestamp is close if the days
between now and the timestamp are less then or equal to the days of
lead time.
* testing/lisp/test-org.el: Add tests for org-deadline-close.
* lisp/org.el (org-align-tags-here): Fix tag width calculation for
multi-column chars.
Some characters have multiple column width. Calculating string width
with points gives a wrong value than actual display width. Use
`string-width' instead.
Here is an ECM for this problem. `M-x org-update-statistics-cookies` or
`C-c #` on bar moves the tag on the headline.
* foo [0/0] 🔤
** child
* bar [0/0] :日本語:
** child
12345678901234567890123456789012345678901234567890123456789012345678901234567890
1 2 3 4 5 6 7 8
* lisp/org.el (org-get-heading): Prevent removing false-positive TODO
keywords due to case-insensitivity.
* testing/lisp/test-org.el (test-org/get-heading): New test.