1
0
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-11-27 07:37:25 +00:00
Commit Graph

1292 Commits

Author SHA1 Message Date
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
Bastien Guerry
6cd243468b Speed up setting/getting the APPT_WARNTIME property.
* org.el (org-refresh-properties): Rename from
`org-refresh-effort-properties' and use two new parameters.
(org-agenda-prepare-buffers): Use `org-refresh-properties'.
Also refresh the 'org-appt-warntime text property.

* org-clock.el (org-clock-in): Use the renamed defun.

* org-icalendar.el (org-icalendar-print-entries): Refresh the
'org-appt-warntime property.
(org-icalendar-print-entries): Do not use `org-entry-get' to
get the "APPT_WARNTIME" property value.

* org-agenda.el (org-agenda-get-timestamps)
(org-agenda-get-sexps, org-agenda-get-deadlines)
(org-agenda-get-scheduled): Ditto.
2013-01-07 12:50:49 +01:00
Bastien Guerry
c4d4bf3833 New defun `org-refresh-effort-properties'
* org-agenda.el (org-agenda-format-item): Do not use
org-get-effort to get the effort text property.
(org-agenda-get-sexps): Use `org-back-to-heading' when setting
the tags.

* org-clock.el (org-clock-in): Refresh effort properties.

* org.el (org-refresh-effort-properties): New defun.
(org-get-effort): Delete.
(org-set-effort): Set the 'org-effort text property.
(org-property-next-allowed-value): Ditto.
(org-agenda-prepare-buffers): Refresh effort properties.
2013-01-07 12:33:24 +01:00
Achim Gratz
19460418a0 Merge branch 'maint' 2013-01-06 18:33:16 +01:00
Achim Gratz
305f29776f Compatibility: Use org-define-obsolete-{function,variable}-alias
* lisp/org-compat.el (org-define-obsolete-function-alias,
  org-define-obsolete-variable-alias): Introduce new compatibility
  macros to obsolete functions and variables.

* lisp/org-agenda.el, lisp/org-clock.el, lisp/org-id.el,
  lisp/org-lparse.el, lisp/org-protocol.el lisp/org.el: Use
  `org-define-obsolete-{function,variable}-alias´instead of
  `define-obsolate{function,variable}-alias´.
2013-01-06 18:29:05 +01:00
Bastien Guerry
8c5b47935f Merge branch 'maint' 2013-01-06 12:46:33 +01:00
Bastien Guerry
d621d2eac3 New default value nil for `org-agenda-dim-blocked-tasks'
* org-agenda.el (org-agenda-dim-blocked-tasks): Default to
nil.
(org-agenda-dim-blocked-tasks): Make interactive and allow an
optional parameter 'invisible to hide blocked tasks instead of
just dimming them.
(org-agenda-mode-map): Bind `org-agenda-dim-blocked-tasks' to
"#".

With a default value of t for `org-agenda-dim-blocked-tasks',
any non-nil value for `org-enforce-todo-checkbox-dependencies' or
`org-enforce-todo-dependencies' (or both) will slow down the
agenda generation too much, which might surprise the user.
2013-01-06 12:31:20 +01:00
Bastien Guerry
806a141f1e org-agenda.el (org-agenda-finalize): Don't try to align tags when there are no tags
* org-agenda.el (org-agenda-finalize): Don't try to align tags
when there are no tags.
2013-01-06 09:20:30 +01:00
Bastien Guerry
cd00d36ca2 org-agenda.el (org-agenda-finalize): Only try to draw the habit consistency graph when there is a habit in the buffer
* org-agenda.el (org-agenda-finalize): Only try to draw the
habit consistency graph when there is a habit in the buffer.
2013-01-06 09:14:54 +01:00
Bastien Guerry
f1191b86e3 org-agenda.el (org-agenda-finalize): Only mark clocking task when there is one
* org-agenda.el (org-agenda-finalize): Only mark clocking task
when there is one.
2013-01-06 09:11:08 +01:00
Bastien Guerry
60b23bdeac Merge branch 'maint'
Conflicts:
	contrib/lisp/htmlize.el
	etc/schema/od-manifest-schema-v1.2-os.rnc
	etc/schema/od-schema-v1.2-os.rnc
	lisp/org-exp-blocks.el
2013-01-01 16:06:17 +01:00
Bastien Guerry
98cd4687a2 Update copyright years.
Happy new year!
2013-01-01 16:04:24 +01:00
Bastien Guerry
6a758e26ff Merge branch 'maint' 2012-12-31 09:30:19 +01:00
Bastien Guerry
8897a53ff4 org-agenda.el (org-agenda-open-link): Fix bug when no link is matched
* org-agenda.el (org-agenda-open-link): Fix bug when no link
is matched.  Return a message instead of an error.
2012-12-31 09:29:14 +01:00
Bastien Guerry
839c8cdd14 Merge branch 'maint' 2012-12-30 11:35:19 +01:00
Bastien Guerry
e8aaca4de6 org-agenda.el (org-agenda-priority): Fix showing priority in agenda buffers
* org-agenda.el (org-agenda-priority): Remove useless
parameter and fix showing priority in agenda buffers.

Thanks to Michael Brand for reporting this.
2012-12-30 11:30:21 +01:00
Bastien Guerry
197881bc1a Merge branch 'maint' 2012-12-29 09:23:28 +01:00
Bastien Guerry
8477a4b215 Allow to follow internal links from the agenda
* org-agenda.el (org-agenda-open-link): Allow to open an
internal link by using the new `org-offer-links-in-entry'
function.

* org.el (org-offer-links-in-entry): Do not open the link
directly through `org-open-link-from-string', only offer to
select a link and return a cons with the link (as a string)
and the end of entry.
(org-open-at-point): Use `org-offer-links-in-entry' correctly.

Thanks to Memnon Anon for reporting this.
2012-12-29 09:20:35 +01:00
Bastien Guerry
2792bc11a0 org-agenda.el: Docstring fixes.
* org-agenda.el (org-agenda-Quit, org-agenda-quit)
(org-agenda-exit, org-agenda-kill-all-agenda-buffers):
Docstring fixes.
2012-12-28 18:37:47 +01:00
Abdó Roig-Maranges
a04ccc40b2 org-agenda.el: New option `org-agenda-search-view-max-outline-level'
* org-agenda.el (org-agenda-search-view-max-outline-level):
New option to define the max level for the entries shown by
the search view.  A value of 1 means to show the top parent
of the entries.
2012-12-24 14:49:04 +01:00
Bastien Guerry
e5539d4d58 Merge branch 'maint'
Conflicts:
	lisp/ob.el
	lisp/org.el
2012-12-20 15:54:52 +01:00
Bastien Guerry
ab5e372926 org-agenda.el (org-agenda-finalize): Fix links activation
* org-agenda.el (org-agenda-finalize): Fix links activation.
2012-12-20 15:34:10 +01:00
Bastien Guerry
5de94e46e4 Merge branch 'maint' 2012-12-20 13:16:47 +01:00
Dmitry Antipov
bfb9f9d10f Use (point-marker) instead of (move-marker (make-marker) (point))
* org-agenda.el (org-agenda-get-restriction-and-command): Use `point-marker'.
* org-capture.el (org-capture-place-template): Likewise.
* org-colview-xemacs.el (org-dblock-write:columnview): Likewise.
* org-colview.el (org-dblock-write:columnview): Likewise.
* org-mobile.el (org-mobile-locate-entry): Likewise.
* org-table.el (org-table-convert-region): Likewise.
* org.el (org-update-statistics-cookies): Likewise.
* contrib/lisp/org-invoice.el (org-dblock-write:invoice): Likewise.
2012-12-20 13:16:41 +01:00
Achim Gratz
c74c62606d Merge branch 'maint' 2012-12-19 15:34:40 +01:00
Achim Gratz
bdc95549dd Backwards compatibility: use compatibility macro
* lisp/org-agenda.el (org-agenda-write): Use
  org-called-interactively-p instead of called-interactively-p.
2012-12-19 15:30:23 +01:00
Bastien Guerry
57e0814ac0 Merge branch 'maint' 2012-12-19 00:23:39 +01:00
Bastien Guerry
1c57cd5a7d org-agenda.el (org-agenda-skip): Only check if point is inside a code block, not at a code block.
* org-agenda.el (org-agenda-skip): Only check if point is
inside a code block, not at a code block.

Thanks to Eric Fraga for reporting this problem.
2012-12-19 00:23:30 +01:00
Ingo Lohmar
0f3264f690 org-agenda.el: Use `org-todo-keyword-faces' to highlight selected TODO keywords.
* org-agenda.el
(org-agenda-propertize-selected-todo-keywords): New function
to highlight the current agenda todo keywords depending on
`org-todo-keyword-faces'.
(org-todo-list): Use the new function.

TINYCHANGE
2012-12-18 18:47:49 +01:00
Bastien Guerry
1bfea39fd4 Support C-1' prefix for org-agenda-capture' and `org-capture'.
* org.el (org-get-cursor-date): New optional argument
WITH-TIME to add the time of the day.

* org-capture.el (org-capture): When capturing from the agenda
and with a non-nil value for `org-capture-use-agenda-date', a
`C-1' prefix will set the capture time to the HH:MM of the
current line or the current HH:MM.

* org-agenda.el (org-agenda-capture): New optional argument
WITH-TIME: when set to 1, the capture time will be set to the
HH:MM time of the current line, or the current HH:MM time.

From an agenda buffer, C-1 k (i.e. org-agenda-capture) and
C-1 M-x org-capture RET will use the time of the day of the
current line, or the current time of the day.  The date is
not changed by using this prefix.

Thanks to Rene for triggering this change.
2012-12-12 15:21:10 +01:00
Bastien Guerry
5508053d63 Merge branch 'maint' 2012-12-11 18:14:00 +01:00
Bastien Guerry
980e52282d org-agenda.el (org-agenda-finalize): Fix order of link activation.
* org-agenda.el (org-agenda-finalize): Fix order of link
activation.
2012-12-11 17:20:33 +01:00
Bastien Guerry
08e411109e org-agenda.el (org-agenda-finalize): Activate plain links.
* org-agenda.el (org-agenda-finalize): Activate plain links.
2012-12-11 17:08:00 +01:00
Bastien Guerry
5d673e890a org-agenda.el (org-agenda-schedule, org-agenda-deadline): Fix redundant messages.
* org-agenda.el (org-agenda-schedule, org-agenda-deadline):
Fix redundant messages.
2012-12-11 16:53:44 +01:00
Bastien Guerry
1a41eeae1d org-agenda.el (org-agenda-finalize): Fix clock highlighting.
* org-agenda.el (org-agenda-finalize): Fix clock highlighting.

Thanks to Rares Pop who reported this.
2012-12-11 16:44:03 +01:00
Nicolas Goaziou
4c7dcd0830 Silence byte compiler
* contrib/lisp/org-invoice.el (org-invoice-info-to-table,
  org-invoice-list-to-table): Silence byte compiler.
* lisp/org-agenda.el (org-agenda-show-clocking-issues,
  org-agenda-format-item): Silence byte compiler.
* lisp/org-colview-xemacs.el (org-agenda-columns): Silence byte
  compiler.
* lisp/org-colview.el (org-agenda-columns): Silence byte compiler.
* lisp/org.el (org-properties-postprocess-alist): Silence byte
  compiler.

Function renaming was necessary as of
a00a7b2918.
2012-11-17 15:51:26 +01:00
Nicolas Goaziou
a729fae0f7 org-agenda: Tiny stylistic change
* lisp/org-agenda.el (org-agenda-get-deadlines): Tiny stylistic
  change.
2012-10-28 13:53:29 +01:00
Justus Piater
796fca3f18 org-agenda: New option: skip deadline prewarning if scheduled in the future
* lisp/org-agenda.el (org-agenda-skip-deadline-prewarning-if-scheduled):
  Add an option to skip the deadline prewarning if the scheduled date is
  in the future.
2012-10-28 11:13:53 +01:00
Bastien Guerry
8866f86624 Merge branch 'maint' 2012-10-26 15:12:02 +02:00
Toby S. Cubitt
58551f1e5f Fix bug in org-agenda-diary-sexp-prefix
* lisp/org-agenda.el (org-agenda-get-sexps): Reset `extra' to nil at
beginning of re-search-forward loop, otherwise next iteration picks up
`extra' value from previous entry.
2012-10-26 14:46:24 +02:00
Bastien Guerry
2608bed9ea Merge branch 'maint' 2012-10-23 18:41:45 +02:00
Bastien Guerry
93b0934d12 Fix typos fixed in Emacs (part 2)
Thanks to Paul Eggert for the fixes:
http://lists.gnu.org/archive/html/emacs-diffs/2012-10/msg00069.html
2012-10-23 18:41:33 +02:00
Nicolas Goaziou
f287ab418d Merge branch 'maint' 2012-10-13 12:54:21 +02:00
Nicolas Goaziou
9d00dd4a88 org-agenda: Fix `org-agenda-later' when called with an argument
* lisp/org-agenda.el (org-agenda-later): Fix function when span is
  a number and an argument was provided.  Also fix typo in docstring.
2012-10-13 12:52:43 +02:00
Bastien Guerry
83dbbfed28 Merge branch 'maint' 2012-10-03 11:14:16 +02:00
Bastien Guerry
562aec40dd Fix commit 1dd4228. 2012-10-03 11:14:06 +02:00
Bastien Guerry
4f0b3bfe0c Merge branch 'maint' 2012-10-02 13:07:09 +02:00
Bastien Guerry
5c762bbdc6 Remove some autoloads and clean up code.
* org.el (turn-on-orgtbl): Moved here from org-table.el.
(org-clock-persistence-insinuate): Moved here from org-clock.el.
(org-update-all-dblocks, org-map-entries)
(org-require-autoloaded-modules, org-forward-element)
(org-backward-element, org-up-element)
(org-element-greater-elements, org-drag-element-backward)
(org-drag-element-forward, org-mark-element)
(org-narrow-to-element, org-transpose-element)
(org-unindent-buffer): Don't autoload.

* org-clock.el (org-clock-get-clocktable): Rename from
`org-get-clocktable'.
(org-clock-persistence-insinuate): Move to org.el.

* org-capture.el: Do no set `generated-autoload-file' locally.
Minor code clean up.

* org-agenda.el (org-agenda-list): Use
`org-clock-get-clocktable'.  Do no set
`generated-autoload-file' locally.

* org-table.el (org-table-iterate-buffer-tables): Minor
reformatting.
(turn-on-orgtbl): Move to org.el.

* org-html.el (org-export-htmlize-generate-css): Don't autoload.

* org-timer.el (org-timer-pause-or-continue, org-timer-stop):
Ditto.

* ob-tangle.el (org-babel-tangle-lang-exts): Ditto.

* ob-lob.el (org-babel-lob-ingest): Ditto.

* org-id.el (org-id-copy)
(org-id-get-with-outline-path-completion)
(org-id-get-with-outline-drilling): Ditto.

* org-lparse.el (org-lparse-and-open, org-lparse-batch)
(org-lparse-to-buffer, org-replace-region-by)
(org-lparse-region): Ditto.

* org-mobile.el (org-mobile-create-sumo-agenda): Ditto.
2012-10-02 10:03:15 +02:00
Bastien Guerry
e4c31cf98b Use generated-autoload-file: "org-loaddefs.el" as a local variable. 2012-10-02 08:50:46 +02:00
Bastien Guerry
b134c60454 Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2012-10-01 17:56:11 +02:00
Bastien Guerry
1dd42283b7 org-agenda.el: Fix bug: do not bypass `org-agenda-timerange-leaders'
* org-agenda.el (org-agenda-get-timestamps): Check if the item
is an habit when formatting it with `org-agenda-format-item'.
(org-agenda-get-blocks): Fix bug: don't assume the item is an
habit when formatting with `org-agenda-format-item'.

Thanks to George McNinch for reporting this.
2012-10-01 17:53:39 +02:00
Bastien Guerry
d79227cbd1 Merge branch 'maint' 2012-09-30 20:20:36 +02:00
Bastien Guerry
f95e5ff1ba Fix a bug, allow "i" in calendar (and remove "k" from calendar)
* org.el (org-calendar-agenda-action-key): Delete an option.
(org-mode-map): Delete its keybinding.
(org-agenda-action-marker, org-mark-entry-for-agenda-action):
Delete.

* org-agenda.el (org-agenda-diary-entry): Don't prevent from
being used outside of Org agendas, as it can be used in
calendar buffers too.

Note that we may have to reimplement the functions related to
"k" in the calendar.
2012-09-30 20:20:22 +02:00
Bastien Guerry
de65b50612 Merge branch 'maint' 2012-09-30 09:24:16 +02:00
Bastien Guerry
c8c8d0e2d9 org-agenda.el: Fix file permissions. 2012-09-30 09:24:12 +02:00
Bastien Guerry
a5483f2d39 Merge branch 'maint' 2012-09-29 23:46:15 +02:00
Bastien Guerry
c7ffcf9246 Uncomment :version "24.3" cookies.
* org.el (org-url-hexify-p, org-doi-server-url)
(org-latex-preview-ltxpng-directory, org-custom-properties)
(org-sparse-tree-default-date-type): Add :version "24.3".

* org-agenda.el (org-agenda-sticky)
(org-agenda-custom-commands-contexts): Ditto.

* org-capture.el (org-capture-bookmark)
(org-capture-templates-contexts)
(org-capture-use-agenda-date): Ditto.

* org-latex.el (org-export-latex-hyperref-options-format)
(org-export-latex-link-with-unknown-path-format): Ditto.

* org-id.el (org-id-link-to-org-use-id): Ditto.

* org-datetree.el (org-datetree-add-timestamp): Ditto.
2012-09-29 23:46:02 +02:00
Bastien Guerry
7d8a0c48a3 Merge branch 'maint' 2012-09-29 13:46:40 +02:00
Bastien Guerry
d7be8dfad2 Remove comment from previous commit. 2012-09-29 13:46:31 +02:00
Bastien Guerry
7e74b77487 Merge branch 'maint' 2012-09-29 13:44:29 +02:00
Bastien Guerry
a6417c62cf org-agenda.el (org-todo-list): Fix redoing of todo agenda when `org-agenda-sticky' is non-nil
* org-agenda.el (org-todo-list): Fix redoing of todo agenda
when `org-agenda-sticky' is non-nil.
2012-09-29 13:44:19 +02:00
Bastien Guerry
4962980938 Merge branch 'maint' 2012-09-29 11:10:18 +02:00
Bastien Guerry
33213dc99a org-agenda.el: Fix some bugs about (indirect) windows handling
* org-agenda.el (org-agenda-quit): Delete last indirect buffer.
(org-agenda-pre-follow-window-conf): New variable.
(org-agenda-tree-to-indirect-buffer): Fix bug: don't split
agenda window when there an indirect buffer is already
displayed.
2012-09-29 11:10:03 +02:00
Bastien Guerry
f155f5458e Merge branch 'maint' 2012-09-29 08:28:34 +02:00
Max Mikhanosha
0be5a4e0ff org-agenda.el: Speedup redisplay of an agenda item after it has been modified
* org-agenda.el (org-agenda-change-all-lines): Speedup
refresh of a single line of agenda by narrowing the agenda
buffer to just that line before calling `org-agenda-finalize'.
2012-09-29 08:09:58 +02:00
Bastien Guerry
d43f7eb475 org-agenda.el: Make sure to get a property from (1- (point-max)), not (point-max))
* org-agenda.el (org-agenda-manipulate-query)
(org-agenda-goto-date, org-agenda-goto-today)
(org-agenda-find-same-or-today-or-agenda, )
(org-agenda-later, org-agenda-change-time-span)
(org-agenda-change-all-lines)
(org-agenda-execute-calendar-command)
(org-agenda-goto-calendar, org-agenda-convert-date): Make sure
to get a property from (1- (point-max)), not (point-max)).

Thanks to Juan Pechiar for reporting a related problem.
2012-09-29 08:09:21 +02:00
Bastien Guerry
132414b11c Merge branch 'maint' 2012-09-28 16:37:34 +02:00
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
acca5ddbae Merge branch 'maint' 2012-09-28 08:29:47 +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
5ba6bd859a Merge branch 'maint' 2012-09-28 00:13:15 +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
c4688a1437 Allow to compare times using seconds (not days) when `org-agenda-todo-ignore-*' options are not nil
* org.el (org-days-to-time): Make obsolete.
(org-time-stamp-to-now): Rename from `org-days-to-time'.
Allow to compare time-stamps based on seconds.

* org-agenda.el (org-agenda-todo-ignore-time-comparison-use-seconds):
New option to compare time stamps using seconds, not days.
(org-agenda-todo-custom-ignore-p)
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item):
Use the new function's name and the new option.

This idea came up while reading Jay McCarthy's blog here:
http://jeapostrophe.github.com/blog/2012/09/19/omnifocus-and-org-mode/
2012-09-26 15:53:06 +02:00
Bastien Guerry
8365b738ee org-agenda.el (org-agenda-format-item): Fix initialization of the level text property
* org-agenda.el (org-agenda-format-item): Fix initialization
of the level text property.

Thanks to Daniel Clemente for reporting this problem.
2012-09-26 11:36:04 +02:00
Bastien Guerry
ca1467160d Merge branch 'maint' 2012-09-26 11:23:57 +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
d42349d3cf Merge branch 'maint' 2012-09-25 18:31:06 +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
2150a98987 Merge branch 'maint' 2012-09-24 17:59:32 +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
5036388ab9 Merge branch 'maint' 2012-09-24 17:19:39 +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
Achim Gratz
998e5565c4 Fix merge conflict in org-agenda.el
* lisp/org-agenda.el: Merge conflict due to additional parameters in
  both maint and master resolved.

Needs review!
2012-09-23 16:27:25 +02:00
Bastien Guerry
ed991f49d7 Merge branch 'maint' 2012-09-23 12:01:05 +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
8ea2518bce Merge branch 'maint'
Conflicts:
	lisp/org-agenda.el
2012-09-23 10:17:07 +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
40baaf8626 Merge branch 'maint' 2012-09-21 10:04:24 +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
Bastien Guerry
7a909d1684 Merge branch 'maint' 2012-09-20 00:52:41 +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
9c7a081f21 Merge branch 'maint' 2012-09-18 16:06:54 +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
8205e25c08 Merge branch 'maint' 2012-09-18 12:25:30 +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
7cf6bbeeac Merge branch 'maint' 2012-09-17 19:02:35 +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
93c692ba27 Merge branch 'maint' 2012-09-13 01:28:16 +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
864519b67e org-agenda.el: Fix another bug in b508ff69
* org-agenda.el (org-agenda-add-time-grid-maybe): Use the
correct number of parameters for `org-agenda-format-item'.
Add a docstring.

Thanks to Nick Dokos for hunting this issue thoroughly.
2012-09-13 00:43:14 +02:00
Bastien Guerry
f51c405920 Removed unwanted modification in `org-agenda-prefix-format' 2012-09-12 18:20:20 +02:00
Bastien Guerry
9742dc86a0 Continue fixing b508ff69.
* org.el (org-outline-level): Go at the beginning of the
headline first to always return a sensible result.

* 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): Return the
correct level depending on `org-odd-levels-only'.
2012-09-12 18:17:01 +02:00
Bastien Guerry
b645e8ab22 Fix commit b508ff69 again (second take). 2012-09-12 18:03:41 +02:00
Bastien Guerry
1f41f08777 Fix commit b508ff69 again. 2012-09-12 15:56:00 +02:00
Bastien Guerry
59d0f30522 Fix previous commit.
Thanks to Rainer Stengele for reporting a related problem.
2012-09-12 15:46:08 +02:00
Bastien Guerry
b508ff6901 org-agenda.el: Allow a new specifier %l' in org-agenda-prefix-format'
* org-agenda.el (org-agenda-prefix-format): A new specifier
`%l' allows to insert X spaces when the item is of level X.
(org-search-view, org-get-entries-from-diary)
(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): Add a
new text property 'level, a string with as many whitespaces as
the level of the item.
(org-agenda-format-item, org-compile-prefix-format): Handle
the new `%l' specifier.

This new specifier allows to have a visual clue about the level
of the item in agenda views.
2012-09-12 11:41:50 +02:00
Bastien Guerry
d815ca4fb2 Merge branch 'maint' 2012-09-12 09:48:33 +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
f43c8c8100 Merge branch 'maint' 2012-09-02 13:45:18 +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
754195477f Merge branch 'maint' 2012-08-30 13:23:53 +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
910291da3b Merge branch 'maint' 2012-08-30 12:12:18 +02:00
Bastien Guerry
4f601b6748 org-agenda.el: Fix compiler warning 2012-08-30 12:11:57 +02:00
Bastien Guerry
b6ae8dd0f7 Merge branch 'maint' 2012-08-30 11:52:40 +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
dfe33f9b6e Merge branch 'maint' 2012-08-30 10:56:53 +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
ae87d2933c Merge branch 'maint' 2012-08-30 10:10:27 +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
c48f322b55 Merge branch 'maint' 2012-08-30 09:52:14 +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
9b67fb855a org-agenda.el: Allow to use holiday strings for the `skip-weeks' arguments
* org-agenda.el (org-class): Allow to use holiday strings for
the `skip-weeks' arguments.

Thanks to Enda for this suggestion.

For example, this task will now be skipped only on new year's day:

* Task
  <%%(org-class 2012 1 1 2013 12 12 2 "New Year's Day")>
2012-08-30 09:48:11 +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
Bastien Guerry
3404ac84ec Move `org-toggle-sticky-agenda' again and autoload it
The previous related commit was to prevent an error
when M-x org-reload RET was reloading org files from
an ELPA directory.  We now autoload the function so
that it is know by the time org-reload might be called.
2012-08-26 23:44:49 +02:00
Bastien Guerry
d832837693 org-agenda.el: Define `org-toggle-sticky-agenda' before calling it 2012-08-26 23:24:40 +02:00
Bastien Guerry
d85e7bc10a org-agenda.el: Fix bug when calling org-agenda-kill' and org-agenda-archive-with' with a non-nil value of `org-agenda-stick'
* org-agenda.el (org-agenda-kill, org-agenda-archive-with):
Fix bug when called with a non-nil value of `org-agenda-stick'.

Thanks to Moritz Ulrich for reporting this.
2012-08-26 14:53:59 +02:00
Bastien Guerry
74d1658c60 org-agenda.el (org-agenda-refile): Fix bug when refiling an sticky agenda entry
* org-agenda.el (org-agenda-refile): Fix bug when refiling an
entry from a sticky agenda.

Thanks a lot to Moritz Ulrich for reporting this.
2012-08-26 11:20:02 +02:00
Bastien Guerry
d44b56e81e org-agenda.el: Fix bug about restoring existing window conf
* org-agenda.el (org-prepare-agenda-window): Use
`org-pre-agenda-window-conf' if already set.
(org-agenda-Quit): Set `org-pre-agenda-window-conf' to nil
when quitting.
(org-agenda-quit): Ditto.

Thanks to Moritz Ulrich for reporting a bug about this.
2012-08-24 15:54:58 +02:00
Bastien Guerry
10dbdf5fc2 Update the handling of agenda/capture keys contextualization.
* org.el (org-contextualize-keys): Rename from
`org-contextualize-agenda-or-capture'.  Fix normalization to
handle empty key replacement string.
(org-contextualize-validate-key): Rename from
`org-contexts-validate'.  Allow checking against a custom
function.

* org-agenda.el (org-agenda-custom-commands-contexts): Update.
(org-agenda): Use `org-contextualize-keys'.

* org-capture.el (org-capture-templates-contexts): Ditto.

* org.texi (Templates in contexts, Setting Options): Update to
reflect changes in how contexts options are processed.
2012-08-24 12:18:05 +02:00
Bastien Guerry
6c94ea0518 Implement key replacement depending on the contexts.
* org.el (org-contextualize-agenda-or-capture): Handle key
replacement depending on the contexts.

* org-capture.el (org-capture-templates-contexts): Allow to
use the context as a way to replace one capture template by
another one.

* org-agenda.el (org-agenda-custom-commands-contexts): Allow
to use the context as a way to replace one agenda custom
command by another one.

* org.texi (Templates in contexts): Document the new structure
of the variables `org-agenda-custom-commands-contexts' and
`org-capture-templates-contexts'.

In the setup below, X is not a real capture template, it is just
an alias to templates A and B in .txt and .el files.  A and B are
deactivated by default in all files.

(setq org-capture-templates
      '(("X" "Nothing but an alias")
	("A" "AAAA" entry (file+headline [...]))
	("B" "BBBB" entry (file+headline [...]))))

(setq org-capture-templates-contexts
      '(("A" "A" ((not-in-file . ".*")))
	("B" "B" ((not-in-file . ".*")))
	("X" "A" ((in-file . "\\.txt")))
	("X" "B" ((in-file . "\\.el")))))

Thanks to Carsten for suggesting this "key-replacement" idea!
2012-08-24 12:17:58 +02:00
Bastien Guerry
d378c7b41b Implement context filtering for agenda commands and capture templates.
* org.el (org-contextualize-agenda-or-capture)
(org-rule-validate): New functions, implement context
filtering for agenda commands and capture templates.

* org-agenda.el (org-agenda-custom-commands-contexts): New
option.
(org-agenda): Use it.

* org-capture.el (org-capture-templates-contexts): New option.
(org-capture-select-template): Use it.

* org.texi (Templates in contexts): Document the new option
`org-capture-templates-contexts'.
(Storing searches): Document the new option
`org-agenda-custom-commands-contexts'.

This idea comes from Sylvain Rousseau, who implemented a similar
feature with org-context.el: https://github.com/thisirs/org-context

This implementation is a bit simpler and more general.  Simpler
because it relies on existing templates, no need to define other
contextual ones.  More general because contexts can be defined
wrt files and modes.

Thanks *very much* to Sylvain for paving the way -- certainly a
great addition to Org.
2012-08-23 11:08:47 +02:00
Bastien Guerry
6a69ceaed6 org-agenda.el: Fix a bug in category filtering
* org-agenda.el (org-prepare-agenda): Minor code clean-up.
(org-agenda-filter-by-category): Filtering must be turned off
only when a category filter has been set and this filter is
not empty.
2012-08-21 18:12:16 +02:00
Bastien Guerry
88213fff61 org-agenda.el: Code clean-up
* 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): Use
`category-pos' instead of `org-category-pos'.
2012-08-21 18:01:30 +02:00
Bastien Guerry
4e5ed3c453 org-agenda.el (org-agenda-persistent-marks): Minor docstring enhancement
* org-agenda.el (org-agenda-persistent-marks): Minor docstring enhancement.
2012-08-20 08:02:36 +02:00
Bastien Guerry
523f13dd08 org-agenda.el: New 'warntime property for agenda entries
* org-agenda.el (org-agenda-get-timestamps)
(org-agenda-get-sexps, org-agenda-get-deadlines)
(org-agenda-get-scheduled): Add the 'warntime as a text
property, getting its value from the APPT_WARNTIME property.
(org-agenda-to-appt): Use the 'warntime text property.

Thanks to Ivan Kanis for reporting a bug related to this.
2012-08-19 21:48:52 +02:00
Bastien Guerry
655da8d1d3 Remove useless (t nil) sexps at the end of some (cond ...) constructs
* org.el (org-compute-latex-and-specials-regexp)
(org-paste-subtree, org-sort-entries, org-store-link)
(org-open-at-point, org-file-remote-p, org-add-log-setup)
(org-set-tags-to, org-fast-tag-selection)
(org-diary-sexp-entry): Ditto.

* org-agenda.el (org-agenda-get-blocks, org-cmp-priority)
(org-cmp-effort, org-cmp-todo-state, org-cmp-alpha)
(org-cmp-tag, org-cmp-time): Remove useless (t nil) sexps at
the end of (cond ...) constructs.

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

* org-lparse.el (org-lparse-format-table-row): Ditto.

* org-list.el (org-sort-list): Ditto.

* org-id.el (org-id-get): Ditto.

* org-html.el (org-export-html-preprocess): Ditto.

* org-exp.el (org-default-export-plist)
(org-table-clean-before-export): Ditto.

(t nil) in (cond (...) (...) (t nil)) has no other meaning that to
remind the developer that the cond sexp returns nil in case no condition
is matched.  For several (cond ...) constructs this is obvious from reading
the code.  For others, the reminder might be useful and we leave it.

See the discussion about this on emacs-devel:
http://thread.gmane.org/gmane.emacs.devel/152664
2012-08-19 14:42:54 +02:00
Bastien Guerry
76b0d582b8 Replace Emacs version to "24.2" by "24.3"
This is needed because the current HEAD of the git repository
will not be synced with Emacs 24.2 but more likely with Emacs 24.3.
2012-08-16 09:24:58 +02:00
Bastien Guerry
57166defd1 org-agenda.el (org-agenda-menu-two-column): Rename to `org-agenda-menu-two-columns'
* org-agenda.el (org-agenda-menu-two-column): Rename to
`org-agenda-menu-two-columns'.
2012-08-15 10:31:22 +02:00
Bastien Guerry
d1b72db961 org-agenda.el (org-diary): Fix tiny typo
* org-agenda.el (org-diary): Fix tiny typo.
2012-08-13 16:30:43 +02:00
Bastien Guerry
9a9d4e3666 Fix some warnings. 2012-08-13 00:36:15 +02:00
Bastien Guerry
82af1bb96c org-agenda.el (org-agenda-get-sexps): Use `org-get-tags-at' to allow tag inheritance
* org-agenda.el (org-agenda-get-sexps): Use `org-get-tags-at'
to allow tag inheritance.

Thanks to Simon Thum for suggesting this.
2012-08-11 19:52:56 +02:00
Bastien Guerry
70dd1196d2 Massive code clean-up.
Delete trailing whitespaces.
Indent all sexps correctly.
Sentences end with double spaces.
2012-08-11 19:10:44 +02:00
Bastien Guerry
621364fc6d org-agenda.el: Add a 'tags property for agenda entries created from sexps
* org-agenda.el (org-agenda-get-sexps): Add a 'tags property
for agenda entries created from sexps.

Thanks to Simon Thum for reporting this.
2012-08-10 12:29:51 +02:00
Bastien Guerry
068a354747 org-agenda.el (org-agenda-switch-to): Run hooks in ̀org-agenda-after-show-hook'
* org-agenda.el (org-agenda-switch-to): Run hooks in
̀org-agenda-after-show-hook'.

Thanks to Jack Erwin for suggesting this.
2012-08-10 10:12:44 +02:00
Christophe Junke
9dae6f04b1 Let `org-agenda-time-grid' control if the grid is displayed.
* org-agenda.el (org-agenda-list): Ensure that the
list returned by `org-agenda-add-time-grid-maybe' is appended
to `rtnall' before checking if the latter is emtpy.

In the case where rtnall is empty (no item for current day), we do not
call org-agenda-add-time-grid-maybe.  This seems bogus because that
function is already computing whether the time grid must be included,
and does so according to the user's preferences.

In particular, the `org-agenda-time-grid' variable has a
'require-timed' parameter controlling the visibility of the time grid.

So, this patch :

 - removes the premature check for rtnall being empty,
 - inconditionally calls org-agenda-add-time-grid-maybe,
 - and finally checks the emptiness of the resulting list
   before pretty printing.

TINYCHANGE
2012-08-07 23:44:08 +02:00
Bastien Guerry
179f5e484a org-agenda.el: New commands `org-agenda-next/previous-item'.
* org-agenda.el (org-agenda-mode-map): Bind
`org-agenda-show-priority' to `C-c,' instead of `P'.
(org-agenda-next-item, org-agenda-previous-item): New
commands to move by one item down/up in the agenda.
(org-agenda-mode-map): Bind `org-agenda-next-item' and
`org-agenda-previous-item' to `N' and `P' respectively.

Thanks to Eric Abrahamsen for this idea and a first patch.
2012-08-07 23:11:26 +02:00
Bastien Guerry
6f571de2f0 org-agenda.el: More appropriate error when there is no Org agenda.
* org-agenda.el (org-agenda-check-type): Throw a more
appropriate error message when no agenda is currently being
displayed.
2012-08-05 09:16:40 +02:00
Bastien Guerry
b771d4b05b org-agenda.el: Bugfix for `org-agenda-write'.
* org-agenda.el (org-agenda-write): Fix bug when writing
agenda to an external file while `org-agenda-sticky' is
non-nil.
2012-08-01 16:32:36 +02:00
Bastien Guerry
a865abb5fe Let's a :APPT_WARNTIME: property override appt-message-warning-time' in org-agenda-to-appt'.
* org.el (org-speed-commands-default): New speedy command to
quickly add the :APPT_WARNTIME: property.

* org-agenda.el (org-agenda-to-appt): Use the :APPT_WARNTIME:
property to override `appt-message-warning-time' when adding
an appointment from an entry.

* org.texi (Weekly/daily agenda): Mention APPT_WARNTIME and
its use in `org-agenda-to-appt'.

This feature has been suggested, along with preliminary patches,
by Ivan Kanis.  Thanks!
2012-08-01 16:05:47 +02:00
Bastien Guerry
9f66ab1d84 Fix bug when using org-store-agenda-views' with org-agenda-sticky' on.
* org-agenda.el (org-batch-store-agenda-views): Use the sticky
agenda buffer name, if required.
(org-agenda-write): New parameter `agenda-bufname' to allow
setting the agenda buffer name.

Thanks to François Allisson for reporting this bug.
2012-07-30 12:19:17 +02:00
Bastien Guerry
8eb584331a Add punctuation at the end of the first line of docstrings. Code cleanup. 2012-07-30 10:08:15 +02:00
Bastien Guerry
46daa10bf3 org-agenda.el (org-agenda-start-with-log-mode): Add relevant customization types.
* org-agenda.el (org-agenda-start-with-log-mode): Add relevant
customization types.

Thanks to John Wiegley for raising this issue and to Carsten for
directions.
2012-07-28 18:53:11 +02:00
Achim Gratz
044b0ff7e8 Fix breakage from previous commit
* lisp/org-element.el: Do not (require 'org).

* lisp/org-agenda.el: Remove duplicate requires.
2012-07-28 07:21:20 +02:00
Max Mikhanosha
2443318f18 Fix undefined org-habit-show-all-today variable when org-habit is not loaded
* lisp/org-agenda.el (defvar org-habit-show-habits-only-for-today): initialize to nil

TINYCHANGE
2012-05-29 16:39:54 -04:00
Max Mikhanosha
e67734fe8e Add ability to show all (even unscheduled) habits on today agenda, by
setting `org-habit-show-all-today' to t.

* lisp/org-agenda.el (defvar org-habit-show-all-today): new variable
(org-agenda-get-scheduled): show all habits if user wants it
* lisp/org-habit.el (defcustom org-habit-show-all-today): new variable
2012-05-28 14:56:23 -04:00
Bastien Guerry
2a7321f70a Revert "Let org-agenda-time-grid control if the grid is displayed"
This reverts commit 993dd076fb.
2012-05-26 06:22:51 +02:00
Christophe Junke
993dd076fb Let org-agenda-time-grid control if the grid is displayed
* lisp/org-agenda.el (org-agenda-list): Ensures that the
list returned by `org-agenda-add-time-grid-maybe' is appended
to ̀rtnall' before checking if the latter is emtpy.

In the case where `rtnall' is empty (no item for current day),
we do not call `org-agenda-add-time-grid-maybe'.  This seems
bogus because that function is already computing whether the
time grid must be included, and does so according to the
user's preferences.

In particular, the `org-agenda-time-grid' variable has a
`require-timed' parameter controlling the visibility of the
time grid.

So, this patch :

 - removes the premature check for `rtnall' being empty,
 - inconditionally calls `org-agenda-add-time-grid-maybe',
 - appends the result to `rtnall',
 - and finally checks the emptiness of the resulting list
   before pretty printing.

TINYCHANGE
2012-05-26 00:19:01 +02:00
Achim Gratz
595d451280 use org-no-warnings macro for XEmacs compatibility
* lisp/org-agenda.el: Replace with-no-warnings with
  org-no-warnings (defined in org-macs.el).

* lisp/org-bbdb.el: Replace with-no-warnings with
  org-no-warnings (defined in org-macs.el).

* lisp/org-clock.el: Replace with-no-warnings with
  org-no-warnings (defined in org-macs.el).

* lisp/org.el: Replace with-no-warnings with org-no-warnings (defined
  in org-macs.el).
2012-05-19 09:48:57 +02:00
Bastien Guerry
4f60b5f3a5 Use (with-no-warnings ...) construct for date' and entry'. 2012-05-17 11:07:19 +02:00
Bastien Guerry
505cc7a221 org-agenda.el: Remove any timestamp from the headline text.
* org-agenda.el (org-agenda-get-timestamps): Remove any
active timestamp from the headline text, not only those for
the current date.

Thanks to SW, Nick Dokos, Samuel Wales and Brian van den Broek
for inputs about this.
2012-05-08 16:09:25 +02:00
Bastien Guerry
0727ce7030 org-agenda.el: Fix bug: use `org-agenda-bulk-unmark-all'.
* org-agenda.el (org-agenda-bulk-action): Fix bug: use
`org-agenda-bulk-unmark-all'.
2012-05-08 10:44:13 +02:00
Bastien Guerry
e508b497a3 org-agenda.el (org-agenda-view-mode-dispatch): message more readable.
* org-agenda.el (org-agenda-view-mode-dispatch): Make the
message more readable.
2012-05-05 09:57:30 +02:00
Bastien Guerry
39204efe9a New command org-agenda-bulk-mark-all' bound to *'. Other minor enhancements.
* org-agenda.el (org-agenda-mode-map): New keybinding ̀*' to
mark all entries for bulk action.
(org-agenda-menu): New menu item for marking all entries.
(org-agenda-bulk-mark-all): New function to mark all entries.
(org-agenda-bulk-mark-regexp): Minor docstring fix.
(org-agenda-bulk-unmark): With a prefix argument, unmark all.
Also send a better message.
(org-agenda-bulk-remove-all-marks): Rename to
`org-agenda-bulk-unmark-all'.  Check against
`org-agenda-bulk-marked-entries' before trying to unmark
entries.  Minor docstring fix.
(org-agenda-bulk-unmark-all): Renamed from
̀org-agenda-bulk-remove-all-marks'.
2012-05-05 09:21:22 +02:00
Bastien Guerry
a16814a475 New option ̀org-agenda-bulk-mark-char'.
* org-agenda.el (org-agenda-bulk-mark-char): New option.
(org-agenda-bulk-mark): Use the new option.
2012-05-05 09:07:37 +02:00
Bastien Guerry
e5c8780e5c Merge branch 'maint' 2012-05-01 10:04:46 +02:00
Bastien Guerry
adb10d1543 org-agenda.el (org-agenda-bulk-mark-regexp): Fix bug.
* org-agenda.el (org-agenda-bulk-mark-regexp): Fix bug when
setting the number of marked entries.
2012-05-01 10:04:31 +02:00
Bastien Guerry
237c65b1f7 org.el: Fix org-diary' again by checking org-agenda-buffer' correctly. 2012-04-30 00:04:20 +02:00
Bastien Guerry
982b7b972f Merge branch 'fix-org-diary-bug' into fix-compiler-warnings 2012-04-28 22:23:40 +02:00
Bastien Guerry
4b8359a395 org-agenda.el: Prevent org-diary to fail.
* org-agenda.el (org-diary): Prevent failure from
`org-compile-prefix-format' when there is no agenda buffer.

Thanks to Rafael who reported this.
2012-04-28 22:23:08 +02:00
Bastien Guerry
c5f73635d0 Replace obsolete variable `buffer-substring-filters'.
* org-agenda.el (org-agenda-mode): Replace obsolete variable
`buffer-substring-filters'.

* org-indent.el (org-indent-mode): Ditto.
2012-04-28 21:36:58 +02:00
Bastien Guerry
5add9cdef0 org-agenda.el: Implement `org-agenda-persistent-marks' for bulk actions.
* org-agenda.el (org-agenda-persistent-marks): New option to
keep marks after a bulk action.  The option defaults to nil.
(org-agenda-bulk-action): Use the new option.

* org.texi (Agenda commands): Document persistent marks.
2012-04-24 18:10:55 +02:00
Toby S. Cubitt
9432a9f1a0 Agenda: Add org-agenda-skip-timestamp-if-deadline-is-shown
* lisp/org-agenda.el (org-agenda-skip-timestamp-if-deadline-is-shown):
Skip timestamp items in agenda view if item is already shown as a
deadline item.
(org-agenda-skip-dealine-if-done): Pass deadline results to
org-agenda-get-timestamps.
(org-agenda-get-timestamps): Optionally take list of deadline results,
so that timestamp results can be skipped if already included in
deadline results.
2012-04-23 12:50:43 +02:00
Toby S. Cubitt
987b185e90 Agenda: Add org-agenda-diary-sexp-prefix customization option
* lisp/org-agenda.el (org-agenda-diary-sexp-prefix): Regexp matching
deadline/scheduling information to be displayed in diary sexp agenda
items.
(org-agenda-get-sexps): Extract deadline/scheduling information from
diary sexp entries.
2012-04-23 12:48:43 +02:00
Bastien Guerry
94bc01e77e org-agenda.el: Small fix. Use org-called-interactively-p' instead of called-interactively-p'. 2012-04-22 23:15:04 +02:00
Bastien Guerry
de7c48759c Let `org-toggle-sticky-agenda' output a message only when called interactively.
* org-agenda.el (org-toggle-sticky-agenda): Only shout a
message when called interactively.
(org-agenda-get-restriction-and-command): Call
`org-toggle-sticky-agenda' interactively.
2012-04-22 15:27:21 +02:00
Bastien Guerry
18cf324f07 org-agenda.el: Fix bug in top-category filtering.
* org-agenda.el (org-agenda-top-category-filter): New variable
for storing the current top-category filter.
(org-agenda-redo): Apply a top-category filter, if any.
(org-agenda-filter-by-top-category)
(org-agenda-filter-top-category-apply): Set
`org-agenda-top-category-filter' to the right value.

Thanks to John Wiegley for reporting this.
2012-04-22 09:21:42 +02:00
Max Mikhanosha
7094dddca4 * lisp/org-agenda.el (org-agenda-quit): Fixed messed up parenthesis in previous commit
TINYCHANGE
2012-04-21 08:40:58 -04:00
Max Mikhanosha
9e4cacc803 Fix q key in sticky agenda not honoring org-agenda-restore-windows-after-quit
* lisp/org-agenda.el (org-agenda-quit): copy the code for optionally
  restoring window configuration after burying the sticky agenda
  buffer.
2012-04-21 08:32:12 -04:00
Madan Ramakrishnan
edb7e341d1 org-agenda.el: Fix `org-agenda-bulk-toggle'.
* org-agenda.el (org-agenda-bulk-mark): Truly make arg optional as
advertised by the function.

Problem here was that `org-agenda-bulk-toggle' calls
`org-agenda-bulk-mark' with no parameters; however, the (max arg 1)
call inside `org-agenda-bulk-mark' will fail with no parameter.

TINYCHANGE
2012-04-21 12:13:16 +02:00
Bastien Guerry
d5c0af72cf Use (derived-mode-p 'org-mode) instead of (eq major-mode 'org-mode).
* org.el (org-show-hierarchy-above, org-cycle)
(org-global-cycle, org-files-list, org-store-link)
(org-link-search, org-open-file, org-display-outline-path)
(org-refile-get-location, org-update-all-dblocks)
(org-change-tag-in-region, org-entry-properties)
(org-save-all-org-buffers, org-revert-all-org-buffers)
(org-buffer-list, org-cdlatex-mode)
(org-install-agenda-files-menu, org-end-of-subtree)
(org-speedbar-set-agenda-restriction): Use (derived-mode-p
'org-mode) instead of (eq major-mode 'org-mode).

* org-timer.el (org-timer-set-timer): Ditto.

* org-table.el (orgtbl-mode, org-table-align, orgtbl-mode): Ditto.

* org-src.el (org-edit-src-exit, org-edit-src-code)
(org-edit-fixed-width-region, org-edit-src-exit): Ditto.

* org-remember.el (org-remember-handler): Ditto.

* org-mouse.el (dnd-open-file, org-mouse-insert-item): Ditto.

* org-macs.el (org-get-limited-outline-regexp): Ditto.

* org-lparse.el (org-replace-region-by): Ditto.

* org-latex.el (org-latex-to-pdf-process)
(org-replace-region-by-latex): Ditto.

* org-indent.el (org-indent-indent-buffer): Ditto.

* org-id.el (org-id-store-link, org-id-update-id-locations)
(org-id-store-link): Ditto.

* org-html.el (org-export-html-preprocess)
(org-replace-region-by-html): Ditto.

* org-footnote.el (org-footnote-normalize)
(org-footnote-goto-definition)
(org-footnote-create-definition, org-footnote-normalize): Ditto.

* org-docbook.el (org-replace-region-by-docbook): Ditto.

* org-ctags.el (find-tag): Ditto.

* org-colview.el (org-columns-redo)
(org-columns-display-here, org-columns-edit-value)
(org-columns-redo): Ditto.

* org-colview-xemacs.el (org-columns-redo)
(org-columns-display-here, org-columns-edit-value)
(org-columns-redo): Ditto.

* org-capture.el (org-capture-insert-template-here)
(org-capture, org-capture-finalize)
(org-capture-set-target-location)
(org-capture-insert-template-here): Ditto.

* org-ascii.el (org-replace-region-by-ascii):  Ditto.

* org-archive.el (org-archive-subtree): Ditto.

* org-agenda.el (org-agenda)
(org-agenda-get-restriction-and-command)
(org-agenda-get-some-entry-text, org-search-view)
(org-tags-view, org-agenda-get-day-entries)
(org-agenda-format-item, org-agenda-goto, org-agenda-kill)
(org-agenda-archive-with, org-agenda-switch-to): Ditto.
2012-04-21 00:43:16 +02:00
Bastien Guerry
ec921a2a68 Support hourly repeat cookies.
* org.el (org-repeat-re)
(org-clone-subtree-with-time-shift, org-auto-repeat-maybe)
(org-deadline, org-schedule, org-matcher-time)
(org-time-stamp, org-read-date, org-read-date-get-relative)
(org-display-custom-time, org-get-wdays)
(org-time-string-to-absolute, org-closest-date)
(org-timestamp-change): Allow to set hourly repeat cookie.
Send an error when an hourly repeat cookie is set and no hour
is specified in the timestamp.

* org.texi (Repeated tasks): Document repeat cookies for
years, months, weeks, days and hours.

* org-agenda.el (org-agenda-get-timestamps): Match hourly
repeat cookies.

* org-icalendar.el (org-print-icalendar-entries): Handle
hourly repeat cookies.

Thanks a lot to Takafumi Arakaki for this idea and for a preliminary
version of this patch.
2012-04-21 00:42:56 +02:00
Toby S. Cubitt
f426dadef0 Agenda: Add new todo-unblocked and nottodo-unblocked skip conditions
* lisp/org-agenda.el (org-agenda-skip-if, org-agenda-skip-if-todo):
Add new todo-unblocked and nottodo-unblocked skip conditions.  These
match as for todo and nottodo, but only for unblocked todo items.

TINYCHANGE

This patch adds two new tests to `org-agenda-skip-if': 'todo-unblocked
and 'nottodo-unblocked.  These match like 'todo and 'nottodo, but only on
unblocked todo items.  This type of test is useful when compiling custom
agenda views containing lists of currently actionable todo items.

Whilst it's possible to code such tests in `org-agenda-custom-commands'
directly (well, Elisp is Turing-complete: you can in principle code
anything!), it's far less convenient than a simple `org-agenda-skip-if'
test which can reuse much of the existing machinery.

Note that the attached patch applies on top of my other "Fix
org-agenda-skip-if bug" patch, though this new feature is independent of
that bug-fix.
2012-04-20 12:12:42 +02:00
Bastien Guerry
d1f1c586d5 Fix merge conflict. 2012-04-20 11:43:27 +02:00
Madan Ramakrishnan
ec56dc8ead org-agenda.el: Fix `org-agenda-bulk-toggle'.
* org-agenda.el (org-agenda-bulk-mark): Truly make arg optional as
advertised by the function.

Problem here was that `org-agenda-bulk-toggle' calls
`org-agenda-bulk-mark' with no parameters; however, the (max arg 1)
call inside `org-agenda-bulk-mark' will fail with no parameter.

TINYCHANGE
2012-04-20 11:35:21 +02:00