Commit Graph

1102 Commits

Author SHA1 Message Date
Bastien Guerry 6bcd7c44ec org-agenda.el (org-agenda-write): Don't copy headlines' subtrees when writing to an .org file
* org-agenda.el (org-agenda-write): Don't copy headlines'
subtrees when writing to an .org file.

* org.el (org-copy-subtree): New parameter `nosubtrees'.
2013-02-08 16:47:19 +01:00
Bastien Guerry 1af91246cf org-agenda.el (org-agenda-write): Allow writing to an .org file.
* org-agenda.el (org-agenda-write): Allow writing to an .org
file.
2013-02-08 15:06:01 +01:00
Bastien Guerry 05acaa9de4 org-agenda.el (org-agenda-get-timestamps): Use nil as `ts-date' for diary sexpressions
* org-agenda.el (org-agenda-get-todos)
(org-agenda-get-timestamps): Use nil as `ts-date' for diary
sexpressions.
2013-02-07 19:40:39 +01:00
Bastien Guerry 3c4847cf67 org-agenda.el (org-agenda-get-todos): Skip diary sexps when trying to sort by timestamp
* org-agenda.el (org-agenda-get-todos): Skip diary sexps when
trying to sort by timestamp.

Thanks to Kyle Machulis for reporting this problem.
2013-02-07 10:32:43 +01:00
Nicolas Goaziou 0a01e52aa1 Install new exporter into Org innards
* contrib/lisp/org-mime.el (org-mime-htmlize, org-mime-compose): Use
  new exporter.
* lisp/ob-haskell.el (org-babel-haskell-export-to-lhs): Use new
  exporter.
* lisp/ob-latex.el (org-babel-execute:latex): Use new exporter.
* lisp/ob-org.el (org-babel-execute:org): Use new exporter.
* lisp/org-agenda.el (org-agenda-menu, org-agenda-write): Use new
  iCalendar export back-end.
* lisp/org-table.el (org-table-export, orgtbl-export): Remove
  dependency on `org-exp' library.
(org-table-clean-before-export): New function.
(org-table-colgroup-info): New variable.
(orgtbl-to-html): Use to new HTML export back-end.
* lisp/org.el (org-modules): Remove modules relative to obsolete
  export framework and add those relative to the new one.
(org-create-formula-image-with-dvipng, org-format-latex
org-create-formula-image-with-imagemagick): Use new exporter.
(org-indent-line): INCLUDE keywords are indented like regular
keywords.
(org-mode-map): Bind C-c C-e to new export dispatcher.
(org-menu): Install new exporter in menu.
2013-02-06 23:06:30 +01:00
Bastien Guerry 33c4f6233d org-agenda.el: New options to limit the number of displayed entries
* org-agenda.el (org-agenda-max-entries)
(org-agenda-max-todos, org-agenda-max-tags)
(org-agenda-max-effort): New options.
(org-timeline, org-agenda-list, org-search-view)
(org-todo-list, org-tags-view): Tell
`org-agenda-finalize-entries' what agenda type we are
currently finalizing for.
(org-agenda-finalize-entries): Limit the number of entries
depending on the new options.
(org-agenda-limit-entries): New function.

Thanks to the various people who asked for this feature
or for a variation of it.

You can set the new options to an integer or to an alist.

(setq org-agenda-max-effort 120)
  => Don't display entries beyond 120 minutes of effort

(setq org-agenda-max-effort '((todo . 60) (agenda . 240)))
  => Limit to 60 minutes in TODO agenda and to 240 in
     "agenda" agenda views.
2013-02-06 17:23:25 +01:00
Bastien Guerry 8ecc966292 Implement "delay" cookies for scheduled items.
* org-agenda.el (org-agenda-skip-scheduled-delay-if-deadline):
New option.  The structure of the possible values is copied
from `org-agenda-skip-deadline-prewarning-if-scheduled'.
(org-agenda-get-scheduled): Honor the two new option,
`org-scheduled-delay-days' and
`org-agenda-skip-deadline-prewarning-if-scheduled'.  I.e. if a
scheduled entry has a delay cookie like "-2d" (similar to the
prewarning cookie for deadline), don't show the entry until
needed.

* org.el (org-deadline-warning-days): Small docstring fix.
(org-scheduled-delay-days): New option (see
`org-deadline-warning-days'.)
(org-get-wdays): Use the new option.

Thanks to Andrew M. Nuxoll and Michael Brand for this idea.

You can now use a "delay cookie" in scheduled items.  For example,

* TODO Sleep
  SCHEDULED: <2013-02-06 mer. -3d>

will not be shown on 06/02 but on 09/02, three days later.

The value of the cookie overrides any value of `org-scheduled-delay-days',
unless `org-scheduled-delay-days' is negative (same logic than for
`org-deadline-warning-days'.)

Also check org-agenda-skip-scheduled-delay-if-deadline, which does for
delay cookies what `org-agenda-skip-deadline-prewarning-if-scheduled' does
for prewarning deadline cookies.
2013-02-06 17:23:24 +01:00
Bastien Guerry 8517be79b5 org-agenda.el: Implement new sorting strategies
* org-agenda.el (org-agenda-sorting-strategy): Document the
new sorting strategies.
(org-agenda-get-todos, org-agenda-get-timestamps)
(org-agenda-get-deadlines, org-agenda-get-scheduled): Add a
`ts-date' text property with scheduled, deadline or timetamp
date.
(org-cmp-ts): New function to compare timestamps.
(org-em): Add a docstring.
(org-entries-lessp): Use `org-cmp-ts' to compare timestamps.
Implement the following sorting strategies: timestamp-up/down,
scheduled-up/down, deadline-up/down, ts-up/down (for active
timestamps) and tsia-up/down (for inactive timestamps.)
2013-02-06 17:23:24 +01:00
Bastien Guerry b91fe131ae Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2013-02-06 17:21:31 +01:00
Bastien Guerry b07a9bb29a org-agenda.el: Bugfix.
* org-agenda.el (org-agenda-get-deadlines)
(org-agenda-get-scheduled): Fix bug: use text properties for
the headline text since we rely on properties to get e.g. the
effort.
2013-02-06 17:18:03 +01:00
Bastien Guerry bbea8d348b Allow to contextualize capture and agenda commands by checking the name of the buffer
* org.el (org-contextualize-validate-key): Check against two
new context predicates [not-]in-buffer.

* org-capture.el (org-capture-templates-contexts):
* org-agenda.el (org-agenda-custom-commands-contexts):
Document the new [not-]in-buffer context predicates.

Thanks to Paul Sexton for triggering this and for proposing a patch.
2013-01-31 11:06:04 +01:00
Bastien Guerry 733a6fe063 Merge branch 'maint' 2013-01-26 13:29:49 +01:00
Bastien Guerry a5ed80fb32 org-agenda.el: Delete `org-agenda-no-heading-message'
* org-agenda.el (org-agenda-no-heading-message): Delete.
(org-agenda-get-timestamps, org-agenda-get-progress)
(org-agenda-get-deadlines, org-agenda-get-scheduled)
(org-agenda-get-blocks): Don't use
`org-agenda-no-heading-message', skip the entry.
2013-01-26 13:29:44 +01:00
Bastien Guerry 9a466f2f05 Merge branch 'maint'
Conflicts:
	lisp/org.el
2013-01-26 10:59:12 +01:00
Bastien Guerry 582cca5806 org-agenda.el (org-agenda-skip): Fix bug by correctly skipping commented scheduled/deadline lines
* org-agenda.el (org-agenda-skip): Fix bug by correctly
skipping commented scheduled/deadline lines.

This fixes a bug introduced in
http://orgmode.org/cgit.cgi/org-mode.git/commit/?id=211b13
2013-01-26 10:55:35 +01:00
Bastien Guerry 9d11d5f3ec Fix last commit. 2013-01-24 15:05:41 +01:00
Bastien Guerry cf1b5169de org-agenda.el (org-diary): Only keep the descriptions of the links
* org-agenda.el (org-diary): Only keep the descriptions of the
links since Org links are not active in the diary buffer.
2013-01-24 15:03:22 +01:00
Bastien Guerry b2abdfb95a New face `org-priority'. Enhance fontification of priority cookies in agenda.
* org-faces.el (org-priority): New face.

* org.el (org-font-lock-add-priority-faces): Use the new face.

* org-agenda.el (org-agenda-fontify-priorities): Use the
org-priority face and add specific agenda face on top of it.
2013-01-24 14:16:11 +01:00
Bastien Guerry b8104315d3 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2013-01-22 22:28:47 +01:00
Bastien Guerry 62c3107eb2 org-agenda.el (org-agenda-get-deadlines): Fix bug: use `org-agenda-show-inherited-tags'
* org-agenda.el (org-agenda-get-deadlines): Fix bug: use
`org-agenda-show-inherited-tags'.

Thanks to Kiwon Um for reporting this.
2013-01-22 22:27:56 +01:00
Bastien Guerry 196c5797d2 Merge branch 'maint' 2013-01-22 16:39:28 +01:00
Bastien Guerry 211b137ef4 org-agenda.el (org-agenda-skip): Correctly handle commented out scheduled/deadline lines
* org-agenda.el (org-agenda-skip): Correctly handle commented
out scheduled/deadline lines.  Refactor.

Thanks to Rainer Stengele for reporting this and to Nick Dokos for
investigating further.  This fix will not slow down the agenda as checking
for a text property seems equally fast (and perhaps even slightly faster)
than checking the character after.
2013-01-22 16:39:23 +01:00
Bastien Guerry 0aae38f8fa Merge branch 'maint' 2013-01-22 16:01:01 +01:00
Samuel Loury 5a5ea5d112 Small typo correction
TINYCHANGE
2013-01-22 15:55:59 +01:00
Bastien Guerry 1d6d4e99e4 org-agenda.el: Let-bind `org-time-clocksum-use-effort-durations' when checking clocks and formatting items
* org-agenda.el (org-agenda-show-clocking-issues)
(org-agenda-format-item): Let-bind
`org-time-clocksum-use-effort-durations' to nil.

Thanks to Vincent Beffara for reporting this.
2013-01-22 15:53:14 +01:00
Bastien Guerry 443559a16f Merge branch 'maint' 2013-01-22 14:25:56 +01:00
Muchenxuan Tong 5b20c9a30e org-agenda.el (org-agenda-quit): Delete indirect buffer's window only when it exists
* org-agenda.el (org-agenda-quit): Delete indirect buffer's window
only when it exists.

When indirect buffer's window doesn't exist, the original logic will
delete the current window.

TINYCHANGE
2013-01-22 14:14:08 +01:00
Bastien Guerry 1d8ba5a9cd Merge branch 'maint' 2013-01-16 18:36:33 +01:00
Bastien Guerry bd779fad62 org-agenda.el (org-agenda-open-link): Fix bug with opening all links
* org-agenda.el (org-agenda-open-link): Fix bug with opening
all links.

Thanks to Ingo Lohmar for pointing this.
2013-01-16 18:36:29 +01:00
Bastien Guerry 626212af0e Merge branch 'maint' 2013-01-14 18:05:15 +01:00
Tokuya Kameshima 115bd78695 org-agenda.el (org-search-view): Fix checking `org-agenda-show-inherited-tags'
* org-agenda.el (org-search-view): Fix checking
`org-agenda-show-inherited-tags'.

TINYCHANGE
2013-01-14 18:04:31 +01:00
Bastien Guerry 7369cada30 Merge branch 'maint' 2013-01-13 11:17:56 +01:00
Bastien Guerry 04eb4b08c3 Revert "Compatibility: Use org-define-obsolete-{function,variable}-alias"
This reverts commit 305f29776f.
2013-01-13 09:19:24 +01:00
Bastien Guerry 09f108ec57 Merge branch 'maint' 2013-01-12 09:20:22 +01:00
Bastien Guerry a0ad34b8d4 Docstring fixes.
* org-capture.el (org-capture-templates-contexts):
* org-agenda.el (org-agenda-custom-commands-contexts):
Docstring fix.
2013-01-12 09:20:17 +01:00
Bastien Guerry 71f2befb61 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2013-01-11 17:19:52 +01:00
Bastien Guerry 3c4df588e8 Restore previous behavior for inherited tags, now just more flexible
* org.el (org-get-tags-at): Remove duplicate inherited tags.

* org-agenda.el (org-agenda-show-inherited-tags): Allow to be
set to 'always or to a list of agenda types.
(org-agenda-finalize): Rework conditions under which inherited
tags should be made available even when not displayed.
(org-search-view, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-sexps)
(org-agenda-get-progress, org-agenda-get-scheduled)
(org-agenda-get-blocks): Use new possible values of
`org-agenda-show-inherited-tags'.

Thanks to Karl Voit and Tassilo Horn who first reported this.
2013-01-11 17:15:17 +01:00
Bastien Guerry 67e83a10c8 Merge branch 'maint' 2013-01-10 12:15:37 +01:00
Bastien Guerry 8b0fe31386 org-agenda.el (org-get-entries-from-diary): Turn off `diary-file-name-prefix'
* org-agenda.el (org-get-entries-from-diary): Turn off
`diary-file-name-prefix' instead of
`diary-file-name-prefix-function', the former is checked
before the latter.

Thanks to Andreas Merziger for reporting this as Emacs bug#13396.
2013-01-10 12:15:24 +01:00
Bastien Guerry bb15139ab7 Merge branch 'maint' 2013-01-08 18:40:01 +01:00
Bastien Guerry 4cac751536 org-agenda.el (org-agenda-finalize): Inhibit readonly for the whole function
* org-agenda.el (org-agenda-finalize): Inhibit readonly for
the whole function.

Thanks to J. David Boyd for hitting this bug and reporting it.
2013-01-08 18:39:45 +01:00
Bastien Guerry 1e38a8162c Merge branch 'maint' 2013-01-08 14:30:44 +01:00
Bastien Guerry 05f5f726fb org-agenda (org-agenda-finalize): Don't remove tag alignment
* org-agenda.el (org-agenda-finalize): Don't remove tag
alignment depending on `org-prefix-has-tag', this should
depend on `org-agenda-remove-tags'.

Thanks to Rainer Stengele for reporting this.
2013-01-08 14:29:29 +01:00
Bastien Guerry 7a186dc005 Merge branch 'maint' 2013-01-08 11:34:18 +01:00
Bastien Guerry 93b0cf60e7 org-agenda.el (org-agenda-finalize): Downcase tags when readding them after agenda generation
* org-agenda.el (org-agenda-finalize): Downcase tags when
readding them after agenda generation.
2013-01-08 11:34:09 +01:00
Bastien Guerry 7feec64988 Merge branch 'maint' 2013-01-07 22:29:11 +01:00
Bastien Guerry 3d1c9a42c3 org-agenda.el (org-agenda-use-tag-inheritance): Fix custom definition
* org-agenda.el (org-agenda-use-tag-inheritance): Fix custom
definition.
2013-01-07 22:02:33 +01:00
Bastien Guerry b54d6f5965 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
	lisp/org.el
	testing/lisp/test-org-element.el
2013-01-07 16:19:37 +01:00
Bastien Guerry c8bfd50223 org-agenda.el: New option `org-agenda-use-tag-inheritance'
* org-agenda.el (org-search-view, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-sexps)
(org-agenda-get-progress, org-agenda-get-deadlines)
(org-agenda-get-scheduled, org-agenda-get-blocks)
(org-agenda-change-all-lines): Get local tags only.
(org-agenda-use-tag-inheritance): New option.
(org-agenda-finalize): When `org-agenda-use-tag-inheritance'
is non-nil, possibly reset tags in the agenda buffer.
(org-agenda-check-type): Enhance docstring.

See the docstring of the new option for details.
2013-01-07 16:12:52 +01:00
Bastien Guerry b27a020a83 `org-float' is now obsolete
* org-agenda.el (org-float): Don't alias `org-float'.

* org.texi (Timestamps, Deadlines and scheduling): Use
`diary-float' instead of the now obsolete alias `org-float'.

* test-org-element.el
(test-org-element/timestamp-interpreter): Ditto.
2013-01-07 13:01:36 +01:00