Commit Graph

22328 Commits

Author SHA1 Message Date
Carsten Dominik 3ac2fb6c5f Merge branch 'improvements-to-agenda-filters' 2019-08-29 22:04:15 +02:00
Carsten Dominik 4edf93a6de Fix compiler warnings in the new filter code 2019-08-29 22:02:31 +02:00
Carsten Dominik 26cde0972d Document the new additional filter interface
* doc/org-manual.org (Filtering in the agenda): Document new filter
function.
2019-08-29 21:33:11 +02:00
Carsten Dominik 69bf64419b Add new generic filter interface
* lisp/org-agenda.el (org-agenda-filter): New function.
(org-agenda-filter-completion-function): New function.
2019-08-29 18:06:10 +02:00
Marco Wahl 48da60f47a org: Relax dependance on imagemagick for image width setting
* lisp/org.el (org-display-inline-images): Don't depend on image type
  imagemagick for rescaling.  When imagemagick is available use that
  type at image creation.

Reported by Terje Larsen.

https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00303.html
2019-08-29 17:28:58 +02:00
Carsten Dominik 6543716d67 Compactify the modeline display of filters
* lisp/org-agenda.el (org-agenda-filter-variables): New constant.
(org-agenda-filter-any): New function.
2019-08-29 11:38:14 +02:00
Carsten Dominik 36dc6ae644 Lay the groundwork for new filter interface
* lisp/org-agenda.el (org-agenda-get-represented-categories):
New function.
(org-agenda-get-represented-tags): Added a caching mechanism.

* (org-agenda-all-categories): Removed again, deferring to
`org-agenda-get-represented-categories'.

* lisp/org-agenda.el (org-agenda-represented-categories)
(org-agenda-represented-tags): New variables.
(org-agenda-finalize): Remove the caches for represented tags
and categories.
2019-08-29 11:38:14 +02:00
Carsten Dominik fa792e9231 Show a message when category filter has been removed
* lisp/org-agenda.el (org-agenda-filter-by-category): Show a
message when filter has been removed.
2019-08-29 11:38:14 +02:00
Carsten Dominik 8c011126b5 Make pressing `_' twice in agenda remove the effort filter
* lisp/org-agenda.el (org-agenda-filter-by-effort): Pressing `_' again
will remove the effort filter.  This aligns the command with the tags
filter.
2019-08-29 11:38:14 +02:00
Carsten Dominik 8dfe826a0b Agenda category filter now offers completion for categories
* lisp/org-agenda.el (org-agenda-all-categories): New function.
(org-agenda-filter-by-category): Implement completion on categories.
2019-08-29 11:38:14 +02:00
Carsten Dominik 7893737406 Add the filter commands to the agenda menu
* lisp/org-agenda.el (easy-menu-define): Add filter commands.
2019-08-29 11:38:14 +02:00
Marco Wahl 3c24be0945 org: Equip inline images with key-map `image-map' 2019-08-26 22:53:24 +02:00
Kyle Meyer 6f5516953f Merge branch 'maint' 2019-08-25 11:51:12 -04:00
Paul Eggert 190a3b6c4e Backport commit 221a3272a from Emacs
* lisp/org-table.el (org-table-message-once-per-second):
Fix bug when clock difference goes past a 65536-second boundary.
Don’t assume particular format for current-time result.

Fix org-table 65536-second bug
221a3272ad4a1befb41dda2990d672782bc0257f
Paul Eggert
Mon Aug 19 18:05:15 2019 -0700

Note(km): time-less-p and time-subtract have been replaced with the
corresponding Org compatibility functions.
2019-08-25 11:47:17 -04:00
Nicolas Goaziou 73c0989037 Fix last commit 2019-08-24 22:58:29 +02:00
Nicolas Goaziou ed048fa83d Fix %start-line in `org-babel-tangle-comment-links'
* lisp/ob-tangle.el (org-babel-tangle-comment-links): %start-line
reports the line number, not the buffer position at the beginning of
line.

Reported-by: immanuel <immanuel.litzroth@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-08/msg00267.html>
2019-08-24 22:44:18 +02:00
Nicolas Goaziou d64f7a2c9b Silence byte-compiler 2019-08-24 00:11:07 +02:00
Nicolas Goaziou 5c55d3a53c manual: Remove erroneous footnote about :file header argument
* doc/org-manual.org (Type): :file header argument no longer
implies :results file.
2019-08-24 00:04:06 +02:00
Marco Wahl d83149bad1 org-agenda: Display duration of clocking without end time 2019-08-23 10:45:37 +02:00
Nicolas Goaziou 784adcd844 Do not pollute `narrow-map' keymap
* lisp/org-keys.el (org-map-map): Use `org-mode-map' instead of
`narrow-map'.

Reported-by: Omar Antolín Camarena <omar@matem.unam.mx>
<http://lists.gnu.org/r/emacs-orgmode/2019-08/msg00256.html>
2019-08-23 10:38:43 +02:00
Abhishek Chandratre c57f12b707 Fix org-store-link for eshell
lisp/ol-eshell.el (org-eshell-store-link): Replace `dired-directory'
variable with `eshell/pwd' function to find current directory.

During org-store-link `dired-directory' variable returns nil.
Thus replacing it with (eshell/pwd), which returns pwd.

TINYCHANGE
2019-08-22 19:11:04 +02:00
Nicolas Goaziou 4848b8b9aa ob: Preserve comma escaping when inserting results
* lisp/ob-core.el (org-babel-insert-result): Fix typo
* testing/lisp/test-ob.el (test-ob/preserve-comma-escape): New test.

Reported-by: "Berry, Charles" <ccberry@ucsd.edu>
<http://lists.gnu.org/r/emacs-orgmode/2019-08/msg00250.html>
2019-08-22 10:03:56 +02:00
Christian Dietrich a72466ce8d Fix bug in org-babel-tangle-file with symlinked files
Assume that there is file A and symlink B that points to file A. If
there is an open buffer that points to A and we
call (org-babel-tangle-file "B"), then this function kills the buffer
since get-file-buffer does not follow symlinks.
2019-08-22 09:50:26 +02:00
Carsten Dominik 96cc762ff3 Remove duplicate selection letters from tag filter prompt.
* lisp/org-agenda.el (org-agenda-filter-by-tag): Remove duplicate
selection letters from tag filter prompt.  If tag groups were the same
in multiple agenda files, the selection characters would be repeated
in the prompt.
2019-08-20 17:58:31 +02:00
Nicolas Goaziou f3474724ad ol: Allow [[\\\\]] links
* lisp/ol.el (org-link-make-regexps): Allow [[\\\\]] links.
2019-08-20 14:24:38 +02:00
Nicolas Goaziou e48fac5231 Fix failing tests
* testing/lisp/test-org.el (test-org/timestamp-from-string):
(test-org/timestamp-from-time): Fix failing tests due to wrong locale.
2019-08-20 14:21:21 +02:00
Nicolas Goaziou 2befc22b26 org-manual: Fix zero width space example
* 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.
2019-08-20 14:15:55 +02:00
Nicolas Goaziou 9ddba91b94 org-manual: Remove reference to a removed feature
* doc/org-manual.org (The Very Busy {{{kbd(C-c C-c)}}} Key): Remove
reference to "automatic table editor", which is always active anyways.
2019-08-19 12:27:57 +02:00
Nicolas Goaziou 4f3d1eefbd Remove `org-enable-fixed-width-editor'
* lisp/org.el (org-enable-fixed-width-editor): Remove variable.
2019-08-19 12:22:22 +02:00
Nicolas Goaziou 4d8142b812 org-manual: Final changes to mode names
* 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".
2019-08-19 10:58:33 +02:00
Nicolas Goaziou edefa0fac2 org-manual: Additional org-indent-mode -> Org Indent mode change
* doc/org-manual.org (Footnotes): When writing about a mode, use its
full name, not the Lisp symbol.
2019-08-19 10:47:06 +02:00
Nicolas Goaziou af572ace74 org-manual: Fix typo
* doc/org-manual.org (Org Indent Mode): Fix typo.
2019-08-19 10:38:20 +02:00
Nicolas Goaziou 576d6ab6c6 org-manual: Fix typo
* doc/org-manual.org (Deadlines and Scheduling): Fix typo.
2019-08-19 10:30:33 +02:00
Nicolas Goaziou 3244abbe6d org-manual: Fix minor mode name
* doc/org-manual.org (Headlines):
(A Cleaner Outline View):
(Org Indent Mode): Prefer real name instead of Lisp symbol.  Fix
typos.
2019-08-19 10:30:02 +02:00
Nicolas Goaziou 810860a613 org-manual: Fix indentation
* doc/org-manual.org (Summary of In-Buffer Settings): Remove spurious
indentation.
2019-08-19 10:20:47 +02:00
Carsten Dominik 4789fc3bfd Renumber and validate all footnotes in the manual 2019-08-19 09:46:08 +02:00
Kyle Meyer c7c04b0447 Merge branch 'maint' 2019-08-18 17:44:08 -04:00
Kyle Meyer 9e1b9fe627 Port more time-related changes
* lisp/org-agenda.el (org-agenda-check-clock-gap):
* lisp/org-clock.el (org-clock-get-clocked-time)
(org-clock-resolve-clock, (org-clock-resolve)
(org-resolve-clocks, org-resolve-clocks-if-idle)
(org-clock-in, org-clock-out, org-clock-sum, org-clocktable-steps):
* lisp/org-element.el (org-element-cache-sync-duration)
(org-element--cache-set-timer, org-element--cache-interrupt-p):
(org-element--cache-sync):
* lisp/org-habit.el (org-habit-insert-consistency-graphs):
* lisp/org-indent.el (org-indent-add-properties):
* lisp/org-timer.el (org-timer-start):
(org-timer-pause-or-continue, org-timer-set-timer):
* lisp/org.el (org-today, org-auto-repeat-maybe): Port time-related
changes from the Emacs repo by using compatibility wrappers.

In the Emacs repo, there has been a lot of changes to Org files
involving time-related code.  I've ported some of those changes but
have largely ignored any changes that break compatibility with older
Emacsen that we support.  That, however, isn't a good approach because
it will be hard to do a systematic update once we bump our minimum
Emacs requirement.  Instead use the recently added compatibility
wrappers where needed, which is ugly but more maintainable.

The main time-related changes this leaves unported are changes that
replace (apply #'encode-time args) calls with (encode-time args).
Until the first form is unsupported, adding a compatibility function
doesn't seem worth the churn.

Relevant Emacs commits include
c75f505dea6a560b825384cf3d277690f86840bf,
57c74793c46c6533b63836f00aecaf3ac2accb6d,
988e37fa0f922b852715671d59a0e3f682373411,
476066e89d6f0bb87220da690b8a476bf9655b80,
89c63b3522b62c0fd725f0b348927a2069238452.
2019-08-18 17:37:51 -04:00
Kyle Meyer d72b4af96e org-clock: Adjust steps calculation for Emacs 24 compatibility
* lisp/org-clock.el (org-clocktable-increment-day): Use
org-decode-time so that integer can be given for time on Emacs 24.
(org-clocktable-steps): Work with a float rather than internal time to
avoid "Invalid time specification" error on Emacs 24.

This fixes the failure of test-org-clock/clocktable/step on Emacs 24.
Note that the version of org-clocktable-steps on master has been
reworked and does not share this issue.
2019-08-18 17:36:13 -04:00
Kyle Meyer a23d0225ab org-time-stamp: Simplify encode-time call
* lisp/org.el (org-time-stamp): Use org-time-string-to-time.

This should have been applied with a6cead0d2 (Backport commit
476066e89 from Emacs, 2019-02-22).
2019-08-18 17:36:13 -04:00
Paul Eggert 74bf99502d Backport commit 988e37fa0 from Emacs
* lisp/org-agenda.el (org-agenda-get-timestamps, org-agenda-get-progress)
(org-agenda-show-clocking-issues):
* lisp/org-capture.el (org-capture-set-target-location):
* lisp/org-clock.el (org-clock-get-sum-start):
* lisp/org.el (org-current-time, org-store-link)
(org-read-date, org-read-date-display)
(org-display-custom-time, org-timestamp-to-time)
Simplify use of encode-time.
* lisp/org-clock.el (org-clock-in, org-clock-update-time-maybe):
* lisp/org-colview.el (org-columns--age-to-minutes):
* lisp/org-macs.el (org-2ft):
* lisp/org.el (org-get-scheduled-time, org-get-deadline-time)
(org-add-planning-info, org-time-string-to-absolute)
(org-closest-date):
Use org-time-string-to-time instead of doing it by hand with
encode-time.
* lisp/org.el (org-read-date): Avoid extra trip through encode-time.

Simplify use of encode-time
988e37fa0f922b852715671d59a0e3f682373411
Paul Eggert
Sun Feb 10 23:54:35 2019 -0800

Note(km): org-current-time has been modified to use org-time-subtract
and org-time-less-p for backward compatibility.  Some changes from
988e37fa0 have been dropped to keep encode-time's call compatible with
older Emacsen.
2019-08-18 17:36:13 -04:00
Paul Eggert a3fcf6dff4 Backport commit 3d1c9a77c from Emacs
* lisp/org-timer.el (org-timer-show-remaining-time):
Don’t assume the remaining time is less than one hour.
Simplify.  The simplification removes the need for a
decode-time, and fixes a typo I introduced recently.

Fix org-timer-show-remaining-time > 1 hour
3d1c9a77c52664c8c3e4fa1ae25e1d13aab9b2f9
Paul Eggert
Sat Aug 17 17:22:25 2019 -0700

Note(km): This replaces porting of Emacs's c90a420779 (Add FIXMEs for
subsecond support, 2019-08-17).  It's modified to use
org-time-subtract and org-time-convert-to-integer for backward
compatibility.
2019-08-18 17:36:13 -04:00
Kyle Meyer bdc5861cf7 org-compat: Add kludges for time-related functions
* lisp/org-compat.el (org-decode-time, org-format-time-string)
(org-time-add, org-time-less-p, org-time-since, org-time-subtract):
New compatibility functions.

On Emacs 24, these functions are stricter about what they accept for
time.  These new function will be used to port over changes in the
Emacs repo.  Don't bother doing a bulk substitution in existing Org
code because that would produce a lot of churn and these calls should
already be compatible with Emacs 24.
2019-08-18 17:36:12 -04:00
Kyle Meyer 24ba689506 org-compat: Add time-convert compatibility wrappers
* lisp/org-compat.el (org-time-convert-to-integer)
(org-time-convert-to-list): New defsubt's to replace common
invocations of time-convert (new in Emacs 27).
* lisp/org-compat.el (org-current-time-as-list): Drop in favor of
org-time-convert-to-list.

These will be used to port changes from the Emacs repo.
2019-08-18 17:31:05 -04:00
Carsten Dominik bca4f1792e Introduce an early reference to org-indent-mode into the manual
* doc/org-manual.org (Headlines): Introduce a reference to
`org-indent-mode'.
2019-08-18 12:23:26 +02:00
Carsten Dominik 81ca61f54f Document noindent STARTUP keyword 2019-08-18 11:20:38 +02:00
Carsten Dominik 6dfd4e38d0 Simplify the "Hard Indentation" section in the manual
* doc/org-manual.org (Hard Indentation): Simplify section.
2019-08-18 11:06:33 +02:00
Carsten Dominik 16f3fd69c3 Various small changes to the manual
* doc/org-manual.org: Compactify the summary of in-buffer
options. Move Org Protocol section to the Miscellaneous chapter.
2019-08-18 09:42:40 +02:00
Carsten Dominik f8d81f4aaa Fix indentation problem in manual that broke structure
* doc/org-manual.org (Summary of In-Buffer Settings): Fix indentation problem.
2019-08-17 22:11:32 +02:00
Carsten Dominik a37dee547e Make Attachment subsections unnumbered 2019-08-17 18:03:20 +02:00