Commit Graph

953 Commits

Author SHA1 Message Date
Bastien Guerry 3a11d64d23 org-agenda.el (org-agenda-sticky): Don't use a function to set. Add a :version string.
* org-agenda.el (org-agenda-sticky): Don't use a function to
set.  Add a :version string.
2012-09-28 16:37:23 +02:00
Bastien Guerry e8b45bb947 Rebind `org-agenda-priority' to `C-c ," in agenda mode (`C-u C-c ,' now shows priority)
* org.el (org-priority): Use a new argument to show priority
instead of setting it.
(org-show-priority): New function to show priority both in
normal Org buffers and in Org Agenda buffers.
(org-speed-commands-default): Use "," as a speed command for
setting priority.

* org-agenda.el (org-agenda-mode-map): Bind
`org-agenda-priority' to `C-c ,' as it was before.
(org-agenda-show-priority): Delete.
(org-agenda-priority): Use a new argument to show priority
instead of setting it.

Thanks to Robert Horn for triggering this change.
2012-09-28 08:29:38 +02:00
Bastien Guerry 001d2d92ba Rename some functions and move some hooks.
* org.el (org-font-lock-hook, org-set-font-lock-defaults): Add
a docstring.
(org-display-inline-remove-overlay): Rename from
`org-display-inline-modification-hook'.
(org-speed-command-activate): Rename from
`org-speed-command-default-hook'.
(org-babel-speed-command-hook): Rename from
`org-babel-speed-command-activate'.

* org-agenda.el (org-agenda-update-agenda-type): Rename from
`org-agenda-post-command-hook'.
(org-agenda-mode): Use the new name.
(org-agenda-post-command-hook): Define as obsolete function.

* org-lparse.el (org-lparse): Temporarily activate the hooks
needed for the ODT conversion.
(org-lparse-preprocess-after-blockquote): Rename from
`org-lparse-preprocess-after-blockquote-hook'.
(org-lparse-strip-experimental-blocks-maybe): Rename from
`org-lparse-strip-experimental-blocks-maybe'.
(org-lparse-preprocess-after-blockquote-hook)
(org-lparse-strip-experimental-blocks-maybe-hook): Define as
obsolete functions.
2012-09-28 00:12:53 +02:00
Bastien Guerry 6634a30772 org-agenda.el (org-agenda-skip): Skip information retrieved from a source block
* org-agenda.el (org-agenda-skip): Skip information retrieved
from a source block.

Thanks to Sébastien Vauban for pointing at this.
2012-09-26 11:23:23 +02:00
Bastien Guerry 12ed0c3978 org-agenda.el (org-agenda-todo-custom-ignore-p): Fix typo in docstring
* org-agenda.el (org-agenda-todo-custom-ignore-p): Fix typo in docstring.
2012-09-25 18:30:55 +02:00
Bastien Guerry c92a2a5c4f org-agenda.el (org-agenda-ndays): Fix bug
* org-agenda.el (org-agenda-ndays): Don't make an alias, as
`org-agenda-span' is defined separately.

Thanks to Tassilo for reporting this.
2012-09-24 17:59:23 +02:00
Bastien Guerry 6c92eca5eb Small enhancements to the main Org menu.
* org.el (org-in-subtree-not-table-p): New utility function
for building the menu.
(org-org-menu): Add an item for refiling.  Check more contexts
when activating items.
(org-tree-to-indirect-buffer): Use `org-up-heading-safe'.

* org-agenda.el (org-agenda-tree-to-indirect-buffer)
(org-agenda-do-tree-to-indirect-buffer): Use argument `arg'.
2012-09-24 17:19:12 +02:00
Bastien Guerry 5a297114fa org-agenda.el: Use `define-obsolete-variable-alias'
* org-agenda.el (org-agenda-menu-two-column)
(org-finalize-agenda-hook, org-agenda-ndays): Use
`define-obsolete-variable-alias' instead of
`make-obsolete-variable'.
2012-09-23 12:00:44 +02:00
Bastien Guerry 348b4f3a8a org-agenda.el: Fix bug about 'time-up sorting strategy not being honored
* org-agenda.el (org-search-view, org-agenda-get-todos)
(org-agenda-get-timestamps, org-agenda-get-blocks): Use the
dotime parameter of `org-agenda-format-item' so that 'time-up
and 'time-down agenda sorting strategies are handled correctly.

Thanks to Richard Lawrence who reported this.
2012-09-23 10:16:12 +02:00
Bastien Guerry 77a4815047 org-agenda.el (org-agenda-export-html-style): Default to nil
* org-agenda.el (org-agenda-export-html-style): Default to nil
as any string value will replace the htmlize style.

See commit 8447ea.
2012-09-21 10:04:14 +02:00
Fabrice Niessen 8447ea8341 Don't force the <style> tag to be present in `org-agenda-export-html-style'
* org-agenda.el (org-agenda-write-buffer-name): Remove the
test for the presence of <style> tag.

TINYCHANGE
2012-09-20 00:52:33 +02:00
Bastien Guerry b81485d5ff org-agenda.el: Fix bug when showing indirect agenda in another frame
* org-agenda.el (org-agenda-tree-to-indirect-buffer): Find the
correct agenda buffer.  Don't split the agenda window when the
indirect buffer is displayed in another frame.

Thanks Viktor Rosenfeld for reporting this.
2012-09-18 16:06:46 +02:00
Bastien Guerry a82797356c org-agenda.el: Fix the display of the number of commands for block agendas
* org-agenda.el (org-agenda-get-restriction-and-command): Fix
the display of the number of commands for block agendas.

Thanks to Sébastien Vauban for reporting this.
2012-09-18 09:09:41 +02:00
Bastien Guerry 6cc7ff1092 org-agenda.el: Allow `org-agenda-finalize-hook' to modify the buffer
* org-agenda.el (org-agenda-before-write-hook)
(org-agenda-add-entry-text-maxlines): Enhance phrasing.
(org-agenda-finalize-hook, org-agenda-mode-hook): Tell that
the buffer is writable when the hook is called.
(org-agenda-finalize): Allow org-agenda-finalize-hook to
modify the buffer.

Thanks to Moritz Ulrich and to Aaron Ecay for triggering this fix.
2012-09-18 08:40:11 +02:00
Bastien Guerry a67676809c org-agenda.el: Fix the declaration/check of org-habit variables
* org-agenda.el (org-habit-show-all-today): Only use defvar
to silent the byte-compiler.
(org-agenda-get-scheduled): Check whether some org-habit.el
options have been defined.

Thanks to Robert Horn for reporting this.
2012-09-17 18:57:58 +02:00
Bastien Guerry 795b578ec1 org-agenda.el (org-agenda-bulk-action): Always read the date through `org-read-date'
* org-agenda.el (org-agenda-bulk-action): Always read the date
through `org-read-date'.  When possible, use the date at point
as the default date.

The previous behavior was trying to mimik the previous behavior
we had with `k m' (to mark the item at point) followed by ̀k s'
(to rescheduled it to the date at point, with no question.)

The current behavior always ask for a date/time interactively,
but takes the date at point as the current date, which makes it
fast enough.

Thanks to Nick Dokos for raising concerns about this.
2012-09-13 01:21:26 +02:00
Bastien Guerry cdc1db5fda org-agenda.el (org-agenda-bulk-action): Fix bug when bulk-shifting timestamps.
* org-agenda.el (org-agenda-bulk-action): Fix bug when
bulk-shifting timestamps.

Thanks to Rainer Stengele for reporting this.
2012-09-12 09:48:21 +02:00
Bastien Guerry f011496ceb `k' now calls org-agenda-capture from agenda. Also add `org-capture-use-agenda-date' option.
* org-capture.el (org-capture-use-agenda-date): New option.
(org-capture): Use it.

* org-agenda.el (org-agenda-capture): New command.
(org-agenda-mode-map): Bind it to `k'.
(org-agenda-menu): Add it to the menu.

* org.texi (Agenda commands): Document the new command and the
new option.

Thanks to Eric Abrahamsen who suggested this change, along with
other merging about bulk actions.
2012-09-02 12:52:38 +02:00
Bastien Guerry ea0b50be37 org-agenda.el (org-agenda-bulk-action): Use the let-bound `entries' instead the variable
* org-agenda.el (org-agenda-bulk-action): Use the let-bound
`entries' instead the variable.
2012-09-02 12:02:13 +02:00
Bastien Guerry 34d66d7d0c org-agenda.el: Fix bug: don't remove persistent marks too early
* org-agenda.el (org-agenda-bulk-action): Fix bug: don't
remove persistent marks too early.
2012-09-02 11:26:27 +02:00
Bastien Guerry bda6404b32 org-agenda.el (org-agenda-bulk-action): Use the date at point
* org-agenda.el (org-agenda-bulk-action): Possibly use the day
at point to reset the scheduled or deadline cookie.  On date
headers, use it without prompting the user.  On an item, use
the item's date as the default prompt for `org-read-date'.
2012-09-02 11:24:16 +02:00
Bastien Guerry a15d8283e5 org-agenda.el (org-agenda-bulk-action): Reorder possible actions in the message
* org-agenda.el (org-agenda-bulk-action): Reorder possible
actions in the message.
2012-09-02 11:21:13 +02:00
Bastien Guerry 916c300414 org-agenda.el: Delete `org-agenda-action'
* org-agenda.el (org-agenda-action, org-agenda-do-action):
Delete.
(org-agenda-mode-map): Delete related keys.

* org.texi (Agenda commands): Delete `org-agenda-action'
section.
(Agenda commands): Reorder.  Document `*' to toggle persistent
marks.
2012-09-02 11:20:01 +02:00
Bastien Guerry 70136298e3 org-agenda.el (org-agenda-menu): Fix a keybinding
* org-agenda.el (org-agenda-menu): Fix a keybinding.
2012-09-02 10:48:28 +02:00
Bastien Guerry 93fcfe4d36 org-agenda.el: Fix ̀org-agenda-goto-date' again
* org-agenda.el (org-agenda-span-to-ndays): Make the second
argument `starting-day' optional.
(org-agenda-goto-date): Keep parameters of custom agendas.
2012-08-30 13:23:29 +02:00
Bastien Guerry 4f601b6748 org-agenda.el: Fix compiler warning 2012-08-30 12:11:57 +02:00
Bastien Guerry b78520e149 org-agenda.el: Fix another bug with `org-agenda-goto-date' with sticky agendas
* org-agenda.el (org-agenda-list): Allow setting the agenda
buffer name through a temporary variable.
(org-agenda-buffer-tmp-name): New variable to temporary store
the agenda buffer name.

Thanks to Rainer Stengele for reporting this bug.
2012-08-30 11:52:16 +02:00
Bastien Guerry a2c4d3e0e9 org-agenda.el (org-agenda-goto-date): Fix behavior when using sticky agendas
* org-agenda.el (org-agenda-goto-date): Fix behavior when
using sticky agendas.

Thanks to Charles Philip Chan and Rainer Stengele who reported
problems about this.
2012-08-30 10:56:35 +02:00
Bastien Guerry b74140e1b0 org-agenda.el: Unconditionnally set ̀org-compile-prefix-format'
* org-agenda.el (org-diary): Don't check whether there is an
agenda buffer when trying to compile the prefix format.
(org-compile-prefix-format): Check if there is an agenda
buffer.  If not, use the current buffer.
2012-08-30 10:10:18 +02:00
Bastien Guerry 92f2e9efb2 org-agenda.el: Fix bug in `org-agenda-get-day-entries'
* org-agenda.el (org-agenda-get-day-entries): Set the agenda
buffer inconditionnally.

For example, when `org-agenda-get-day-entries' is called
through ̀org-diary', we need to make sure `org-agenda-buffer'
is set, otherwise org-diary triggers an error.
2012-08-30 09:52:03 +02:00
Bastien Guerry 96cef218f0 Clean-up variables declaration
Remove some duplicate declarations.
When the variable is declared in another file,
use (defvar [var]).  When it is dynamically bound
in this file (defvar [var]) is enough, but mixed
installations make (defvar [var] [val]) safer.
2012-08-30 06:39:35 +02:00
Bastien Guerry c1ce6143b7 org-agenda.el: Rename org-finalize-agenda* to org-agenda-finalize*
* org-agenda.el (org-agenda-finalize-hook)
(org-agenda-finalize, org-agenda-finalize-entries): Rename
from org-finalize-agenda-*.
(org-agenda-run-series, org-agenda-finalize, org-timeline)
(org-agenda-list, org-search-view, org-todo-list)
(org-tags-view, org-diary, org-agenda-finalize-entries)
(org-agenda-change-all-lines): Use the new names.
2012-08-30 06:24:22 +02:00
Bastien Guerry 555ffa084d org-agenda.el: Fix initialization of some variables 2012-08-29 20:15:47 +02:00
Bastien Guerry 0455cc2084 org-agenda.el: Rewrite of the redo/change/append commands
* org-agenda.el (org-agenda-local-vars): Remove
̀org-agenda-last-arguments' from the list of local variables.
(org-agenda-mode-map): `g' does the same than `r' in buffers
with only one agenda view, but its behavior differs when there
are several views.  In manually appended agendas (with `A'),
`g' displays only the agenda under the point.  With multiple
agenda blocks, `g' reinitializes the view by discarding any
temporary changes (e.g. with ̀f' or `w'), while ̀r' keeps those
temporary changes for the agenda view under the point.
(org-agenda-run-series, org-agenda-redo): Implement the above
changes.
(org-agenda-mark-header-line): Don't set useless properties.
(org-agenda-list, org-todo-only, org-search-view)
(org-todo-list, org-tags-view, org-agenda-list-stuck-projects)
(org-agenda-manipulate-query, org-agenda-goto-today)
(org-agenda-later, org-agenda-change-time-span): Use text
properties for storing the last command and the last arguments
for each agenda block.
(org-unhighlight-once): Delete.
2012-08-29 19:18:05 +02:00
Bastien Guerry 69e99dff07 org-agenda.el (org-agenda-append-agenda): Fit agenda window to buffer
* org-agenda.el (org-agenda-append-agenda): Fit agenda window
to buffer.
2012-08-29 01:05:34 +02:00
Bastien Guerry db4c1454a3 org-agenda.el: Bugfix: correctly check whether we are in org-agenda-mode
* org-agenda.el (org-agenda-append-agenda): Bugfix: correctly
check whether we are in org-agenda-mode.
2012-08-28 18:47:12 +02:00
Bastien Guerry 04526ae0de org-agenda.el: Fix name of `org-agenda-pre-window-conf'
* org-agenda.el (org-agenda-pre-window-conf): Rename from
`org-pre-agenda-window-conf'.
(org-agenda-local-vars, org-agenda-prepare-window)
(org-agenda-Quit, org-agenda-quit): Use the new name.
2012-08-28 18:29:18 +02:00
Bastien Guerry 5848ac36c8 org-agenda.el: Fix compiler warnings
* org-agenda.el (org-keys, org-match): New variable,
dynamically scoped in `org-agenda'.
(org-agenda, org-agenda-list, org-search-view, org-todo-list)
(org-tags-view): Use the new variables.
(org-batch-store-agenda-views): Let-bind `match'.
2012-08-28 18:26:10 +02:00
Bastien Guerry da9c67a7a5 org-agenda.el: Fix one byte-compiler warning 2012-08-28 15:10:44 +02:00
Bastien Guerry cc9487004d org-agenda.el: `org-search-view', `org-todo-list' and `org-tags-view' use sticky agenda correctly
* org-agenda.el (org-search-view, org-todo-list)
(org-tags-view): Do not let `org-agenda-sticky' prevent the
use of these functions programmatically.  Also use the sticky
agenda function correctly.
2012-08-28 15:06:47 +02:00
Bastien Guerry 38507b0493 org-agenda.el: Set `org-agenda-buffer-name' correctly in `org-agenda'
* org-agenda.el (org-agenda): Set `org-agenda-buffer-name'
correctly with sticky agendas and non-custom commands.
2012-08-28 14:37:49 +02:00
Bastien Guerry e9fee9cd63 org-agenda.el (org-agenda-fit-window-to-buffer): Rename from `org-fit-agenda-window'
* org-agenda.el (org-agenda-fit-window-to-buffer): Rename from
`org-fit-agenda-window'.
(org-agenda-run-series, org-agenda-prepare, org-agenda-list)
(org-search-view, org-todo-list, org-tags-view): Use the new
name.
2012-08-28 13:36:43 +02:00
Bastien Guerry 29afec9cd0 org-agenda.el (org-agenda-prepare): Let `throw' display an error
* org-agenda.el (org-agenda-prepare): Let `throw' display an
error.
2012-08-28 13:31:52 +02:00
Bastien Guerry 23204aaab7 org-agenda.el: Fix bug in `org-agenda-list'
* org-agenda.el (org-agenda-list): Fix bug: don't throw an
error when called from programs as (org-agenda-list).

Thanks to Rainer Thiel for reporting this bug.
2012-08-28 13:29:37 +02:00
Bastien Guerry 72f25ccfd9 org-agenda.el (org-todo-list): Make arg optional
* org-agenda.el (org-todo-list): Make arg optional.
2012-08-28 13:17:29 +02:00
Bastien Guerry a9b8778b0c Code clean-up: rename some agenda internals.
* org.el (org-agenda-prepare-buffers): Rename from
`org-prepare-agenda-buffers'.
(org-match-sparse-tree, org-map-entries): Use the new names.

* org-agenda.el (org-agenda-prepare-window): Rename from
`org-prepare-agenda-window'.
(org-agenda-prepare): Rename from `org-prepare-agenda'.
(org-agenda-run-series, org-agenda-prepare, org-timeline)
(org-agenda-list, org-search-view, org-todo-list)
(org-tags-view, org-agenda-list-stuck-projects, org-diary)
(org-agenda-to-appt): Use the new names.

* org-mobile.el (org-mobile-create-index-file): Ditto.

* org-icalendar.el (org-export-icalendar): Ditto.

* org-clock.el (org-dblock-write:clocktable)
(org-dblock-write:clocktable): Ditto.

* org2rem.el (org2rem): Ditto.
2012-08-28 13:11:12 +02:00
Bastien Guerry 89cdbda63e org-agenda.el: Use the current command's match to set the buffer name
* org-agenda.el (org-agenda): In sticky agendas, use the
current command's match to set the buffer name.  This gives
more information to the user and allows to distinguish various
agendas triggered by the same key.
(org-batch-store-agenda-views): Handle the new sticky agenda
buffer name.
2012-08-28 13:02:01 +02:00
Bastien Guerry 9c2b17bac3 org-agenda.el: Use `S' as a key for searching words in TODO-only entries
* org-agenda.el (org-agenda)
(org-agenda-get-restriction-and-command): Use `S' as a key for
searching words in TODO-only entries.
2012-08-28 12:35:05 +02:00
Bastien Guerry 5590972648 org-agenda.el: Fit agenda window when displaying a sticky agenda
* org-agenda.el (org-prepare-agenda): Fit agenda window when
displaying a sticky agenda.
2012-08-27 21:24:23 +02:00
Bastien Guerry 424f3ecedb Fix bug when redoing multiple (agenda) blocks.
* org-agenda.el (org-agenda-overriding-cmd)
(org-agenda-multi-current-cmd)
(org-agenda-multi-overriding-arguments): New variables.
(org-agenda-run-series): `org-agenda-overriding-arguments'
defaults to the last agenda block arguments, so don't use it
globally.
(org-agenda-mark-header-line): Add properties needed so that
`org-agenda-overriding-arguments', `org-agenda-current-span'
and `org-agenda-last-arguments' can be set to their correct
contextual value.
(org-agenda-multi-back-to-pos): New variable.
(org-agenda-later): Retrieve `org-agenda-current-span' and
`org-agenda-overriding-arguments' from text properties.  Also
handle numeric span.
(org-agenda-later, org-agenda-change-time-span): Set
`org-agenda-overriding-cmd' so that we to take overriding
arguments into account for this command only.

The behavior for agenda blocks where there is only one (agenda)
command is not changed.  Changing the time span and redoing with
`g' will keep the new time span.  The behavior changed for blocks
where there are multiples (agenda) blocks.  In this case, redoing
will restore the initial view (before any time span change) and
changing the time span is done independantly for each block.

Thanks to Charles Philip Chan for reporting this nasty bug.
2012-08-27 17:52:22 +02:00