* lisp/org-agenda.el: Bind `org-agenda-filter' to `/` and move
`org-agenda-filter-by-tag' to `\`.
* doc/org-manual (Filtering/limiting agenda items): Improve the entire
section.
* lisp/org-agenda.el (org-agenda-filter): Append new filter elements
instead of prepending them. And allow an additional leading `+' to
signal that the new elements should be added to the current filter
instad of replacing them.
* doc/org-manual.org (Escape Character): Fix zero width space example.
Link syntax tolerates white spaces anywhere within the square
brackets, so the example would still be a valid link.
* doc/org-manual.org (Activation):
(Basic TODO Functionality):
(Multiple keyword sets in one file):
(Priorities):
(The global TODO list):
(Editing support):
(Summary of In-Buffer Settings):
(Packages that conflict with Org mode):
(Adding Hyperlink Types): Change Lisp symbol into its proper name.
In particular, there is no "shift-selection-mode" in Emacs, but
a "shift-selection" feature. There is a "shift-select-mode" variable,
however, but the entry in the Emacs manual is really about
"shift-selection".
* doc/org-manual.org (Refiling and Archiving): Renamed from
Refile, Copy and Archiving.
(Capture and Attachments): Renamed from Capture, Attachments,
RSS Feeds and Protocols.
* doc/org-manual.org (Literal Examples): Move information about "comma
escape" outside of the footnote. Delete related footnote.
Suggested-by: Štěpán Němec
* lisp/org.el (org-columns-default-format-for-agenda): New option.
* lisp/org-colview.el (org-overriding-columns-format): Updated documentation.
(org-agenda-columns): `Use org-columns-default-format-for-agenda'
* doc/org-manual.org (Using Column View in the Agenda): Fix the
description how to set the columns format for agenda views.
* lisp/org.el (org-use-fast-todo-selection): Allow values
`auto' and `expert'.
(org-todo): Change the interpretation of the prefix argument.
A single `C-u' now forces taking a logging time stamp and note.
(org-fast-todo-selection): Implement the `expert' option of
`org-use-fast-todo-selection' and avoid showing the selection
window. Instead, show the options in the prompt.
* doc/org-manual.org: (Basic TODO Functionality): Document that `C-u
C-c C-t' is the simplest way to log a TODO state change.
(TODO keywords as workflow states): Slightly simplify text.
(TODO keywords as types): Document that tags should be used instead.
(Progress Logging, Closing items, Tracking TODO state changes):
Document that `C-u C-c C-t' is the simplest way to log a TODO
state change.
(Remote editing): Document using a prefix to the `org-agenda-todo'
command logs the state change.
(Using CDLaTeX to enter math): Document that CDLaTeX is available on
MELPA.
* doc/org-guide.org (Progress Logging): Document the use of a
prefix to `org-todo' to force logging.
* lisp/org.el (org-todo): Make a tripple `C-u' prefix force
logging the todo state change with timestamp and a note.
Ignoting blocking a change now needs four `C-u' prefixes,
because this is probably hardly ever used.
* doc/org-manual.org (Tracking TODO state changes): Document
forcing of state change logging with `C-u C-u C-u C-c C-t'.
* lisp/org-agenda.el (org-agenda): Add a condition to check if
narrowing is in effect and in case set the agenda restriction markers.
* etc/ORG-NEWS (Respect narrowing when agenda command is restricted to buffer):
* doc/org-manual.org (The Agenda Dispatcher): Mention the behavior.
* lisp/org-attach.el
Changed the way attachments deal with property-inheritance. It now
adheres to the =org-use-property-inheritance= setting by default but
it can be customized if needed (I recommend to enable it!).
The property ATTACH_DIR is deprecated in favour of the shorter and simpler
property DIR.
Added an explicit option to =org-attach= for unsetting
attachment-directories (i.e. remove DIR property and deal with the
attachments by interaction).
Added attachment link type with the prefix "attachment:".
Added customizations:
- org-attach-dir-relative
- org-attach-preferred-new-method
- org-attach-use-inheritance
- org-attach-id-to-path-function
Hooks added:
- org-attach-after-change-hook
- org-attach-open-hook
A new linktype "attachment" is added in order to reduce
link-duplication when wanting to link to files in attached folders of
nodes. This works for both ID and DIR properties. The goal is to
make the functionality for attachment links mirror the functionality
for file links.
* lisp/org-attach-git.el
New file, existing functionality. Code here has been factored out
from org-attach.el and if GIT-functionality is to be used this module
needs to be required sepatately. It extends org-attach by use of its
hooks.
Activating git functionality in org-attach is done by loading
org-attach-git from now on, instead of customizing a variable.
Naming of both functions and tests has been modified to match the move
of functionality into its own module.
* lisp/org.el
Inline images are shown also using attachment-links, exactly the same
as it works for file-links today.
Make org-open-at-point respect ARG when opening attachment-dir.
* lisp/org-compat.el
org-attach-directory has been deprecated in favour for
org-attach-id-dir. The new name matches its purpose better.
* lisp/ox-html.el
Export attachment links to images as inline images, in the same way as
file links work today.
* etc/ORG-NEWS
Mention the changes in this patch.
* doc/org-manual.org
The chapter "Refile, Copy, Archive" has been split into two separate
chapters.
- "Refile, Copy and Archiving" for information related to moving
existing data around.
- "Capture, Attachments, RSS Feeds and Protocols" for information
related to working with external data.
The attachment-part has been rewritten and extended to match the
changes in this patch.
The new attachment link type is mentioned both inside the attachments
chapter and in the chapter dealing with links.
Documentation related to external links has been improved.
* testing/lisp/test-org-attach-annex.el
Require org-attach-git instead of org-attach, since this file tests
the GIT-functionality.
* testing/lisp/test-org-attach.el
Add tests for org-attach.
* testing/org-test.el
Define a symbol for a file to test attachments with.
* testing/examples/*
A bunch of new example files and folders are created and are used in
testing of org-attach to verify its functionality.
* 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.
* 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.
* doc/org-manual.org (Inserting deadlines or schedules): Remove
reference to `org-mark-entry-for-agenda-action`.
Reported-by: Christian Heinrich <com-orgmode@gladbachcity.de>
<http://lists.gnu.org/r/emacs-orgmode/2019-05/msg00060.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.
* doc/org-manual.org (Emphasis and Monospace): Differentiate Org from
Org mode.
(Images): Remove useless @noindent command.
(Export Settings): Use proper markup for CLOCK syntax. Differentiate
DONE tasks from done tasks.
(Include Files): Clarify that <C-c '> does not allow to navigate back
from an included file.
(ASCII export commands): Fix FINDEX entry
(Triggering Publication): Fix keybindings.
(Editing Source Code): Turn major-mode into major mode.
* doc/org-manual.org (Plain Lists): Use =DONE= for specific DONE keyword.
(Timestamps): Fix node name. Replace "sepx" with "expression", as in
the Elisp manual.
(Deadlines and Scheduling): Replace "sepx" with "expression", as in
the Elisp manual.
(Repeated tasks): Use "entry as done" instead of "entry DONE", since
DONE is not the only DONE keyword possible.
(Clocking commands): Use appropriate markup for "CLOCK" keyword.
(Capture templates): Remove unnecessary @noindent.
(Refile and Copy): Move `org-copy' binding below.
(Agenda Files): Use real library name: Iswitchb.
(The Agenda Dispatcher): Use :sep attribute.
(Calendar/Diary integration): Replace "sepx" with "expression", as in
the Elisp manual.
(The global TODO list): Update node change.
(Matching tags and properties): Fix markup for tags.
(Change display): Use "marked as done" instead of "marked DONE".
(Storing searches): Remove unnecessary @noindent command. Prefer
present tense over future.
(Footnotes): Use "marked as done" instead of "marked DONE". Replace
"sepx" with "expression". Apply node name change.
* doc/fdl.org: New file.
* doc/org-manual.org (GNU Free Documentation License): Include Org
file instead of the Texinfo one.
(A Texinfo example): Update example.
* doc/org-manual.org (Choosing a working directory): Document "mkdirp"
in conjunction with "dir".
(Header arguments): Remove reference to "mkdirp" and "dir" combination.
* lisp/ob-core.el (org-babel-execute-src-block): Make directory if
":dir path" does not exist when ":mkdirp yes" exist.
* doc/org-manual.org (Header arguments): Document it.
* testing/lisp/test-ob.el: Add a specific testing file for ob-core.el,
and add a testing for ":mkdir yes" work with :dir header argument
usage.
* doc/org-manual.org (Using Column View in the Agenda): Updated
reference to variable.
* lisp/org-agenda.el (org-agenda-finalize): Set buffer local variable
instead.
* lisp/org-colview.el (org-overriding-columns-format): Renamed.
(org-agenda-overriding-columns-format): Renamed.
(org-local-columns-format): New buffer local variable.
(org-columns-edit-value): Updated reference to variable.
(org-columns-next-allowed-value): Updated reference to variable.
(org-agenda-columns): Updated reference to variable.
Setting org-agenda-overriding-columns-format as a buffer local value
interferes with how it is used as a dynamically scoped var, so use a
separate variable for buffer local setting.
* doc/org-manual.org: Don't recommend to call package-initialize in
the init file.
Add early init file, stop package-initialize insertion
24acb31c04b4048b85311d794e600ecd7ce60d3b
Radon Rosborough
Sat Feb 17 13:36:16 2018 +0200
* lisp/org-clock.el (org-clock-special-range): Use nil to represent
`untilnow'.
* lisp/org-clock.el (org-clocktable-steps): For `untilnow' block, set
set timestamp to 2003.
* doc/org-manual.org (The clock table): Document `untilnow' floor when
used with :step.
For `untilnow', org-clock-special-range sets the start to
"<-50001-11-30 Tue 00:00>", but org-parse-time-string actually assumes
a YYYY-MM-DD format and parses the year as 0001. By chance, this is
still a really old date, so no one noticed. However, with the port of
Emacs's fde99c729c (Port recent org-clock fix to POSIX time_t,
2018-03-28), test-org-clock/clocktable/ranges would fail if the system
supports the oldest date tried, "<-67715-09-22 Tue 17:51>".
But this "encode-time -> format-time-string -> org-parse-time-string"
dance is mostly unnecessary. All the current org-clock-special-range
callers except for org-clocktable-steps (1) explicitly check if the
starting time is nil, (2) don't use the starting time, or (3) pass it
directly to org-clock-sum, which handles nil values. And
org-clock-sum executes the same codepath when nil is passed instead of
"really old date".
Update org-clocktable-steps to use 2003 (the year Org was created) as
the starting point when org-clock-special-range returns nil for the
starting time. This is more efficient because we don't needlessly
calculate steps over a large chunk of time that almost certainly
doesn't have any clocked time. And it won't run into the portability
issues like Emacs's fde99c729c. 2003 _should_ be an appropriate
effective starting date, since we don't expect clocked time before the
existence of Org. If this turns out to be an issue (e.g., someone
converted reports from a pre-Org and still makes clock tables that
include those times), we can make this value configurable.
* lisp/org.el (org-dynamic-block-insert-dblock,
org-dynamic-block-alist, org-dynamic-block-functions,
org-dynamic-block-types, org-dynamic-block-define,
org-dynamic-block-function): New variables, New functions.
* lisp/org-keys.el (org-dynamic-block-insert-dblock): Add binding for
the function.
(org-clock-report, org-columns-insert-dblock): Remove function
keybindings. Mark them as obsolete.
* doc/org-manual.org (Dynamic Blocks): : Add manual for dispatch
command `org-dynamic-block-insert-dblock'.
* testing/lisp/test-org-clock.el: New test.
* doc/org-manual.org (Headlines): Refer to new section.
(Dynamic Headline Numbering): New section.
* lisp/org-num.el:
* testing/lisp/test-org-num.el: New files.
* lisp/ox-html.el (org-html-self-link-headlines): New variable.
(org-html-headline): Create a hyperlink on headlines
when :html-self-link-headlines is set.
* lisp/org-capture.el (org-capture-finalize): Do not save the target
capture file if :no-save keyword is non-nil in the capture template.
* doc/org-manual.org (Template elements),
lisp/org-capture.el (org-capture-templates): Document :no-save.
Ref: https://lists.gnu.org/r/emacs-orgmode/2018-09/msg00325.html
* lisp/ox-html.el (org-html-headline): Add new property
HTML_HEADLINE_CLASS to assign class attribute to headline.
* doc/org-manual.org (CSS support): Document new property
HTML_HEADLINE_CLASS.