Commit Graph

15376 Commits

Author SHA1 Message Date
Nicolas Goaziou f2f646b6c9 ox-icalendar: Allow ignoring done scheduled or deadlines tasks
* lisp/ox-icalendar.el (org-icalendar-use-deadline):
(org-icalendar-use-scheduled): Add a value to ignore done tasks.
2019-09-05 21:54:50 +02:00
Michaël Cadilhac 9586db1248 org-clock: Add an option to not show the file column in clock report
* lisp/org-clock.el (org-clocktable-defaults): Add `hidefiles'.
(org-dblock-write:clocktable): Implement not showing files when
`hidefiles' is true.
* lisp/org-pcomplete.el: Add `hidefiles'.
2019-09-05 18:56:28 +02:00
Michaël Cadilhac 876a4419dd Fontify drawers correctly.
* lisp/org.el (org-fontify-drawers): Fix face used, fix range of text
properties.
(org-set-font-lock-defaults): Fontify drawers after keywords.
2019-09-05 18:53:26 +02:00
Nicolas Goaziou 893866f86b Merge branch 'maint' 2019-09-05 15:06:08 +02:00
Nicolas Goaziou 97c14ca8cd ox-latex: Fix Brazilian entry in Polyglossia languages
* lisp/ox-latex.el (org-latex-polyglossia-language-alist): Fix
Brazilian entry.  Sort lines.
2019-09-05 15:05:06 +02:00
Carsten Dominik 18c69675ae Document `org-agenda-auto-exclude-function' can select positively
* lisp/org-agneda.el: (org-agenda-auto-exclude-function):  Update
documentation.
2019-09-04 09:50:56 +02:00
Carsten Dominik 05cb7cb4ad Fix bugs in filtering 2019-09-04 09:41:29 +02:00
Carsten Dominik 6413bc75a0 Fix bug in tag filter
* lisp/org-agenda.el (org-agenda-filter-by-tag): Use the correct
character to clearing the filter.
2019-09-04 08:20:29 +02:00
Bastien cff97c361a Bump Version keyword 2019-09-04 06:53:49 +02:00
Carsten Dominik 0dd77866cc Remove double function definition introduced by accident in 7ee4cb0245 2019-09-03 16:05:40 +02:00
Carsten Dominik 9962df2b48 Merge branch 'make-new-filter-interface-the-default' 2019-09-03 15:50:34 +02:00
Carsten Dominik 7ee4cb0245 Revert `org-agenda-filter-by-category' to non-prompting state 2019-09-03 15:47:39 +02:00
Gustav Wikström 4b7eda1a2f org-attach, test-org-attach: Restore fs check in org-attach-dir
In commit ae9cd4370 the filsystem check for org-attach-dir was
removed.  Adding it back here, together with an optional flag to
override the check.

To satisfy compatabilty issues with org-brain. Ref. thread here:
- https://github.com/Kungsgeten/org-brain/pull/203
2019-09-02 23:15:13 +02:00
Gustav Wikström dea0c70c7b org-id: Add decimals to ISO 8601 timestamp when used as ID
With nanoseconds precision in the timestamp risk for duplicates shall
be ... near 0 ... even in heavy teamwork-environments or heavily
scripted setups.
2019-09-01 14:48:16 +02:00
Gustav Wikström 032148b8d3 org-attach: Reword dispatcher and make f/F create if not exist
Change from "task" to "node" in `org-attach-commands'.  More general
that way.

Also change default behaviour for f and F commands when an attachment
is declared by ID or DIR property but not yet created in the
filesystem.
2019-09-01 14:43:54 +02:00
Carsten Dominik f230b730c5 Make the new filter interface the default, and improve the manual
* 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.
2019-09-01 09:12:47 +02:00
Carsten Dominik ef5863b311 Improve the text describing the tags/property matche
* lisp/org-agenda.el (org-agenda-custom-commands): Improve the text
describing the tags/property matches
2019-08-31 13:47:25 +02:00
Nicolas Goaziou df30a056b2 Fix tangling bug when major mode for LANGUAGE is not `LANGUAGE-mode'
* lisp/ob-core.el (org-babel-expand-noweb-references):
* lisp/ob-tangle.el (org-babel-tangle): Use `org-src-get-lang-mode' so
as to use proper major mode.

Reported-by: immanuel <immanuel.litzroth@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-08/msg00272.html>
2019-08-30 23:36:00 +02:00
Carsten Dominik 713a414713 Small improvements to filtering
* 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.
2019-08-30 08:35:27 +02:00
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 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
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 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
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