Commit Graph

579 Commits

Author SHA1 Message Date
Carsten Dominik 36b6471858 Merge branch 'improve-todo-match-documentation' 2010-06-22 14:47:45 +02:00
Carsten Dominik 2e73ce2177 Clarify that TODO matches only match not-DONE states by default
Bernt Hansen writes:

> I was talking to Jeff Stern about tags todo matching offlist and we
> think the documentation for tags-todo matching can probably be improved.
>
> The description of C-c a M at
> http://orgmode.org/manual/Matching-tags-and-properties.html
> states
>
> C-c a M
>
>    Like C-c a m, but only select headlines that are also TODO items and
>    force checking subitems (see variable
>    org-tags-match-list-sublevels). To exclude scheduled/deadline items,
>    see the variable org-agenda-tags-todo-honor-ignore-options. Matching
>    specific TODO keywords together with a tags match is also possible,
>    see Tag searches.
>
> When I read this I think TODO items is any todo keyword but this isn't
> the case.  It is only non-done TODO state keywords.  This makes
> tags-todo matching not work for finding tasks to archive (normally
> DONE | CANCELLED keywords in my setup)
>
> Should we explicitly state that 'headlines that are also TODO items'
> does not match DONE state keywords?  Or alternatively should TODO items
> and DONE items be separate (and explicitly defined) in the documentation
> -- like org-todo-keywords and org-done-keywords?
>
> I still think 'TODO keyword' matches any todo keyword defined in
> org-todo-keywords and maybe I need to be re-educated :)

Bernt is right, and this patch tries to clarify the issue.
2010-06-22 14:47:37 +02:00
Carsten Dominik 1d52e54efd New capture system org-capture
* lisp/org-agenda.el (org-agenda-action): Make `c' key call org-capture.
* lisp/org-capture.el: New file.
* lisp/org-compat.el (org-get-x-clipboard): Function moved here from
remember.el.
* lisp/org-mks.el: New file
* lisp/org.el (org-set-regexps-and-options): Allow statistic cookies as
part of complex headlines.
(org-find-olp): New argument THIS-BUFFER.  When set, assume that the
OLP does not contain a file name.
2010-06-22 14:19:18 +02:00
Carsten Dominik eade8e6fa3 Revert "* lisp/org-agenda.el (org-agenda-get-deadlines):"
This reverts commit 14b689946d.

See discussion in

   http://thread.gmane.org/gmane.emacs.orgmode/26154/focus=26400
2010-06-21 15:18:36 +02:00
Bastien Guerry 14b689946d * lisp/org-agenda.el (org-agenda-get-deadlines):
(org-agenda-get-scheduled):
* lisp/org.el (org-time-string-to-seconds):
For deadline and scheduled agenda display ignore the cyclic repeater
when calculating how many days late the task is.  If you have a weekly
task and miss the date the agenda view will show more than a week late
now instead of resetting on the cyclic repeating date.  This makes it
much more obvious when you missed a repeating task after the repeater.

Thanks to Bernt Hansen for this patch.
2010-06-16 16:12:31 +02:00
Thomas Morgan cc47da0acb Persistent filters in Org mode
Hello, Org mode hackers,

This patch defines a variable `org-agenda-persistent-filters'.
When it is set, filters persist from one agenda view to the next.

I've found this convenient when using tags for contexts like @home,
@net, etc., some of which commonly remain applicable for a while.

Thanks,
Thomas

From 052ef9205845c78cb24d6fea8f89484bbe12a528 Mon Sep 17 00:00:00 2001
From: Thomas Morgan <tlm@ziiuu.com>
Date: Fri, 23 Apr 2010 11:48:03 +0200
Subject: [PATCH] New option `org-agenda-persistent-filters'.
 When set, keep filters from one agenda view to the next.
2010-05-20 08:54:17 +02:00
Carsten Dominik e3c43d80cd Apply Stefan's simplification 2010-05-16 16:12:57 +02:00
Carsten Dominik c86a3fc4aa Push version number to 6.36trans 2010-05-09 06:24:20 +02:00
Carsten Dominik 88100d1580 Release 6.36a 2010-05-09 06:13:54 +02:00
Carsten Dominik 7f085d0e5c Agenda: Speed-up comparing entries when sorting
The comparison function now only computes the comparisons actually needed.
2010-04-30 07:54:18 +02:00
Carsten Dominik 4c2e8c359b New agenda sorting strategy alphabetically
Requested by John Wiegley
2010-04-30 07:31:43 +02:00
Carsten Dominik 9822a6799a Push a mark before the agenda can move point in a buffer
Patch by Andreas Seltenreich.
2010-04-27 12:00:03 +02:00
Carsten Dominik 3a62d52570 Redo the agenda after refiling 2010-04-25 23:52:51 +02:00
Carsten Dominik e0ca9a5bdf More work on simplifying compatibility code 2010-04-21 09:18:12 +02:00
Carsten Dominik 56ba0892e5 Simplify XEmacs key bindings 2010-04-21 08:38:09 +02:00
Carsten Dominik c6ea2a1457 Use overlay-in and overlay-at instead of compatibility functions 2010-04-20 12:17:06 +02:00
Carsten Dominik bb0ef787b7 Require calendar already on top level in org.el 2010-04-18 16:50:13 +02:00
Carsten Dominik 8bd9308662 No linger bind obsolete calendar variables 2010-04-18 16:49:58 +02:00
Carsten Dominik f45e6a28b1 Use the normal overlay API, not Org's one 2010-04-18 16:49:58 +02:00
Carsten Dominik 43bf1bbbd7 Push version number to 6.35trans 2010-04-15 12:24:55 +02:00
Carsten Dominik 39f4c6041b Fix typo 2010-04-13 07:59:56 +02:00
Carsten Dominik 6f3026edf1 Release 6.35g 2010-04-08 20:15:15 +02:00
Carsten Dominik a589c7a22e Release 6.35f 2010-04-08 10:36:32 +02:00
Carsten Dominik 50e5924d8a Release 6.35e 2010-04-07 16:33:52 +02:00
Carsten Dominik f722763f8a Release 6.35d 2010-04-07 16:26:42 +02:00
Carsten Dominik d65ed03be6 Update copyright notices and fix wrong version tags 2010-04-07 16:26:10 +02:00
Carsten Dominik cafbe1d038 Release 6.35c 2010-04-07 08:58:25 +02:00
Carsten Dominik b213c0f31e Release 6.35b 2010-04-07 07:54:14 +02:00
Carsten Dominik 08d0d2fa20 Release 6.35 2010-04-06 09:16:36 +02:00
Carsten Dominik 8fdf80bb5b Fix whitespace and compiler wanings 2010-04-01 13:11:54 +02:00
Carsten Dominik 60755599a0 Revert "Refactor refiling code"
This reverts commit 84e8434337.
2010-03-29 14:22:46 +02:00
Carsten Dominik a3f3efe82d Speed-up multiple calls to `org-diary'.
Patch by Matt Lundin

Matt writes:

> The missing piece of the puzzle is integration with "diary" and
> "cal-tex" functions via the org-diary sexp. I have found org-diary to be
> excruciatingly slow when called for anything more than a couple of days.
> I have the following line in my diary file:
>
> &%%(org-diary :timestamp :sexp)
>
> If I try to view 20 or so upcoming days in the diary by typing C-u 20 d
> on a date in the calendar, it can take upwards of 30 seconds to generate
> the diary display. This is of little consequence, since I can, after
> all, simply use the custom agenda command. But I often want to print out
> a nice LaTeX calendar of my appointments with cal-tex-cursor-month. And
> that takes upwards of 50 seconds (see attached elp-results file).
>
> Judging from the elp-results, the culprit seems to be
> org-prepare-agenda-buffers (46 seconds), which is called 31 times (once
> for each day). It seems to me that since org-diary is being called 31
> times in quick succession by the same function (diary-sexp-entry), one
> should only need to call org-prepare-agenda-buffers once.
>
> The only solution I could see to this problem was to add a test to see
> if org-diary had been called less than 1 second ago. Thus, I added the
> variable org-diary-last-run-time and a conditional in org-diary that
> only runs org-prepare-agenda-buffers if org-diary-last-run-time is less
> than 1 second in the past.
>
> With the patch, it now takes appr. 5 seconds to generate the LaTeX
> calendar with cal-tex and org-prepare-agenda-buffers is called only
> once.
2010-03-29 11:24:06 +02:00
Bernt Hansen 84e8434337 Refactor refiling code
Allow C-2 C-c C-w to work in the agenda.

Update agenda after refiling
  This rebuilds the agenda buffer after the refile operation completes.
  It was removing the to-be-refiled task before prompting for the location
  which felt a little strange.  While on the prompt you can't see
  the task you are refiling anymore since it was just removed from the
  agenda list and if you aborted from the refile operation
  with C-g then the task to be refiled has already been removed.
2010-03-28 22:10:24 -04:00
Carsten Dominik f237acfd85 Add logging support for refiling
Proposal by Charles Cave.
2010-03-25 07:48:29 +01:00
Carsten Dominik c084541efa Add more options to `org-agenda-todo-ignore-with-deadline'
Patch by Lukasz Stelmach.
2010-03-24 13:13:53 +01:00
Carsten Dominik 3598ed89d9 Don't add deadlines if the user has configured to exclude them locally
Patch by Matt Lundin
2010-03-24 12:07:29 +01:00
Carsten Dominik b79e7790f9 Fix time extraction when inserting diary entries with `i d' 2010-03-18 06:36:49 +01:00
Carsten Dominik 72b33420b8 New variable for extracting time when adding diary entries
Patch by Stephen Eglen.
2010-03-17 16:54:58 +01:00
Carsten Dominik 71419bfbfd Abbreviate "Deadeline" for mode line 2010-03-15 10:59:44 +01:00
John Wiegley 3a3a102348 Added agenda binding: ! shows/hides deadline tasks
org-agenda.el (org-agenda-include-deadlines): Added new
customization variable to determine whether unscheduled tasks
should appear in the agenda solely because of their deadline.
Default to true, which was the previous behavior (it just wasn't
configurable).
(org-agenda-mode-map, org-agenda-view-mode-dispatch): Bind ! in
the agenda to show/hide deadline tasks.
(org-agenda-menu): Added menu option for show/hide deadlines.
(org-agenda-list): Make the agenda list sensitive to the value of
`org-agenda-include-deadlines'.
(org-agenda-toggle-deadlines): New function to toggle the value of
`org-agenda-include-deadlines' and repaint the modeline
indicators.
(org-agenda-set-mode-name): Show "Deadlines" in the agenda
modeline if deadline tasks are being displayed.
2010-03-14 21:03:56 -04:00
Carsten Dominik 57148dd8aa Agenda: Allow TODO conditions in the skip functions 2010-03-12 14:59:18 +01:00
Carsten Dominik fb528c18f0 Agenda: Specify entry types as an option
Patch by Matt Lundin

Matt writes:

> Below is a patch I've been using to speed up the construction of
> agenda views limited to certain types of entries (e.g., timestamps and
> sexps).  Previously, I had constructed "calendar" views consisting
> only of timestamps and sexps by using the variable
> org-agenda-skip-function to exclude scheduled items and deadlines from
> the agenda. This, however, proved somewhat slow (3-4 seconds for
> weekly calendars, 10-12 seconds for monthly calendars). The patch
> below cuts the times to 1 and 3 seconds respectively. I believe it
> provides an efficient alternative to the skip function by allowing the
> user to tweak the arguments passed to org-agenda-get-day-entries.
2010-03-10 17:12:26 +01:00
Carsten Dominik 6fbdb8074e Implement a simpler way to specify faces for tags and todo keywords
This is a patch by Ryan Thompson, extended by Carsten Dominik.
2010-02-25 16:41:28 +01:00
Carsten Dominik 8bb1c06a3a Agenda: Show [] in mode line when restricted 2010-02-25 16:05:00 +01:00
Carsten Dominik ec11ff6f72 Fix agenda csv export to show full time
Max Mustermann writes:

> Org-mode version 6.21b in GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+
> Version 2.18.3) of 2009-11-10 on vernadsky, modified by Debian.
>
> The Org entry:
>
>   * Appointments 			       :work:
>   #+CATEGORY: Appt
>   ** Testing <2010-02-20 Sat 22:00-23:30>
>
> produces the following incomplete output with org-batch-agenda-csv :
>
>   emacs -batch -l ~/.emacs -eval '(org-batch-agenda-csv "a"
> org-agenda-ndays 1)'
>   Appt,Testing,timestamp,,work,2010-2-20,2200,,,1000,2010-2-20
>
> whereas the output of org-batch-agenda shows the correct time:
>
>   emacs -batch -l ~/.emacs -eval '(org-batch-agenda "a" org-agenda-ndays 1)'
>   Appt:       22:00-23:30 Testing                  :work::
2010-02-21 08:26:28 +01:00
Carsten Dominik 8d6aa8f3df Agenda: Allow to suppress deadline warnings for entries also scheduled 2010-02-17 23:01:15 +01:00
Carsten Dominik f7ecc80702 Search View: Fix bug with searching full words in headlines
Patch by Peter Povinec
2010-02-17 08:27:03 +01:00
Carsten Dominik 203ad53b46 Avoid side effects on text properties 2010-02-15 20:23:05 +01:00
Carsten Dominik b856f57331 Fix some typos 2010-02-15 07:55:51 +01:00
Carsten Dominik f3e0f1e8b7 Slight cleanup of previous commit 2010-02-14 22:41:54 +01:00
Andy Lutomirski 36268491a0 org-agenda: Allow finer control of ignored todos.
Add new options to org-agenda-todo-ignore-{scheduled,deadlines}.
These will be convenient for users who want to see only todos
that need attention.
2010-02-14 22:33:40 +01:00
Carsten Dominik bb71f9f1b0 Agenda: Don't add a face to the space characters before tags
Reported by Tassilo Horn
2010-02-12 18:17:05 +01:00
Carsten Dominik d731a52651 Clarify docstring 2010-02-10 13:17:23 +01:00
Carsten Dominik d16b7cd8a7 Extract times when storing new diary entries from the agenda 2010-02-03 16:23:41 +01:00
Carsten Dominik b8a4d004f2 Fix bug with insertion of date lines into a tree from the agenda
Reports by Stephen Eglen and Eric S Fraga.
2010-02-01 14:30:36 +01:00
Carsten Dominik e4029c5b36 Agenda: Improve prompt message for agenda view menu
Patch by Eric Fraga
2010-02-01 10:58:03 +01:00
Carsten Dominik 2e53d9b137 Remove comma after means in many docstrings
Stephen Eglen says these commas should not be there.
2010-01-21 16:15:40 +01:00
Carsten Dominik b034a4e1ed New option to get times in agenda zero padded instead of blank padded
Patch by Stephen Eglen, who writes:

> Just a small suggestion here.  In the agenda, an entry like:
> * <2010-01-20 Wed 09:00-09:30> test
>
> gets formatted as follows:
>
> Wednesday  20 January 2010
>               8:00...... ----------------
>  test:        9:00- 9:30 test
>              10:00...... ----------------
>
> the leading whitespace before '9:00' and '9:30' is needed to align the
> times, but having the space after the dash looks odd (at least to my
> latex-trained eyes).  Would it be possible to patch org-agenda to put a
> leading zero rather than leading whitespace.  With this patch, I see:
>
> Wednesday  20 January 2010
>              08:00...... ----------------
>  test:       09:00-09:30 test
>              10:00...... ----------------

This patch introduces a new user option to select this behavior.
2010-01-21 16:02:44 +01:00
Carsten Dominik 566dac98b3 Autoload org-datetree-find-create-date
Stephen Eglen writes

> Within the agenda buffer, if I type 'i j' to jump to the current date I
> get:
>
> Debugger entered--Lisp error: (void-function org-datetree-find-date-create)
>  org-datetree-find-date-create((1 20 2010))
>  org-agenda-diary-entry-in-org-file()
>  org-agenda-diary-entry()
>  call-interactively(org-agenda-diary-entry nil nil)
>
> If I then do M-x load-library org-datetree
>
> and repeat 'i j', it works.  Should this function be autoloaded?
2010-01-20 11:43:52 +01:00
Carsten Dominik 06e74afce3 Version number to 6.34trans 2010-01-20 10:13:21 +01:00
Carsten Dominik a1709ba641 Release 6.34c 2010-01-18 00:10:11 +01:00
Carsten Dominik 2f2f9441d4 Release 6.34b 2010-01-14 23:06:55 +01:00
Carsten Dominik a1e0409ab7 Keep byte compiler happy 2010-01-14 23:06:13 +01:00
Carsten Dominik cab009b78e Improve documentation about prefix args to scheduling/deadline cmds in agenda 2010-01-14 17:09:11 +01:00
Carsten Dominik c077142241 Release 6.34a 2010-01-12 08:53:44 +01:00
Carsten Dominik 4bdf4881b5 Some documentation fixes 2010-01-12 08:28:44 +01:00
Carsten Dominik ef181259e8 Fix typos
Reports by Manish
2010-01-12 08:16:33 +01:00
Carsten Dominik 6b8af94de3 Fix bug when all tags are hidden in the agenda
Patch by Stephan Schmitt, who writes:

> An error was thrown when all tags of a headline are hidden by
> org-agenda-hide-tags-regexp (in this case the function
> get-text-property got nil as third argument)
2010-01-11 18:43:54 +01:00
Carsten Dominik 288c724335 Release 6.34 2010-01-10 10:57:53 +01:00
Carsten Dominik 275b6627a6 Release 3.34 2010-01-10 10:54:52 +01:00
Carsten Dominik 8a3e6496de Define the `v L' key in the agenda 2010-01-07 14:57:25 +01:00
Carsten Dominik 774964adba Minor fixes than are needed to complete the previous commit 2010-01-05 12:13:00 +01:00
Carsten Dominik 9c32266c67 Improve the logic of the search view. 2010-01-05 12:01:35 +01:00
Carsten Dominik a9eb916a2c Agenda: New face for entries from the Emacs diary 2010-01-04 15:35:45 +01:00
Carsten Dominik 430cb8067f Don't move to invisible line after marking for bulk action 2010-01-03 13:54:58 +01:00
Carsten Dominik 1951c6202a New function `org-diary-schedule' to schedule classes with skipped weeks.
This is modified from a proposal by Daniel Martins.
2009-12-28 19:45:41 +01:00
Carsten Dominik 7062a88410 Match TODO keywords case-sensitively
Samuel Wales writes:

> I found three places where the lowercase version of a todo
> kw is treated specially in the latest org.  For example,
>
>  * todo this is lowercase
>
> First, in the agenda, they have a special face.
>
> Second, when inserting an id link, they are removed.
>
> Third, when printing the olpath, they are removed.  To
> reproduce, place point at bol on 5 and press the spacebar.
> I expect todo to be in the olpath, but it is not.
>
> Thanks.
>
>
> Samuel
>
>
> * 1
> *** 2
> ***** here are some keywords i like
> ******* todo
> ********* 5
2009-12-16 15:33:00 +01:00
Carsten Dominik 2fcbd1d806 Empty matcher means prompt in agenda custom commands
When an agenda custom command has an empty string as MATCH element, so
far this would lead to a meaningless search using an empty matcher.
Now and empty (or white) string will be interpreted just like a nil
matcher, i.e. the user will be prompted for the match.
2009-12-16 10:44:41 +01:00
Carsten Dominik 498e71da49 Make leader string for inactive timestamps in agenda customizable 2009-12-16 08:54:52 +01:00
Carsten Dominik 5356227feb Agenda: Make `>' also act inactive time stamps
When an entry was included into the agenda because of an inactive
time stamp, `>' can now be used to change that inactive stamp.
2009-12-14 17:06:04 +01:00
Carsten Dominik 3efe6f29a8 Agenda: Show time-of-day in block also after day 1
Lukas Stelmach writes:

> Isn't it wrong when a note like this:
>
> * A very interesting meeting 11:15-12:00
>  <2009-11-30 Mon>--<2009-12-01 Tue>
>
> Shows up in the agenda time gird only on monday while being untimed on
> tuesday? To make it right I do
>
> * A very interesting meeting
>  <2009-11-30 Mon 11:15>--<2009-11-30 Mon 12:00>
>  <2009-12-01 Tue 11:15>--<2009-12-01 Tue 12:00>
>
> or simply
>
> * A very interesting meeting 11:15-12:00
>  <2009-11-30 Mon>
>  <2009-12-01 Tue>
>
> Which works but doesn't show the recurrence counter.
2009-11-26 09:04:53 +01:00
Carsten Dominik c98716af61 Fix bug 2009-11-26 07:05:19 +01:00
Carsten Dominik 1a0e1a6f07 Minor amend to previous commit 2009-11-20 23:19:14 +01:00
Carsten Dominik c6186f49b3 Check all represented tags in agenda for auto-exclusion 2009-11-20 23:17:55 +01:00
Carsten Dominik e80f24641c Rebuild agenda after adding new diary entries 2009-11-20 20:35:34 +01:00
Carsten Dominik 62a7301a5e Push release number to 6.33trans 2009-11-20 20:20:31 +01:00
Carsten Dominik 7668306fca Fix bug with message and headlines containing `%'
Report by Bernt Hansen
2009-11-20 20:19:40 +01:00
Carsten Dominik 04c901354c Agenda: Selectively remove some tags from agenda display
Patch by Martin Pohlack, with modifications by Carsten Dominik.
2009-11-20 17:55:12 +01:00
Carsten Dominik 24061fddd1 Release 6.33f 2009-11-20 15:15:05 +01:00
Carsten Dominik 37e9b1c51f Release 6.33e 2009-11-20 13:58:31 +01:00
Carsten Dominik 858dfb51f6 Agenda: Still safer diary insertion
Bernt Hansen reported a bug when the cursor is on the first line in
the agenda.
2009-11-20 13:56:23 +01:00
Carsten Dominik 24a49967f1 Release 6.33d 2009-11-20 12:34:50 +01:00
Carsten Dominik d7ef0bbd72 Agenda: Catch error when no mark is set
Bernt Hansen writes:

> When org-agenda-diary-file is set to a special org file for diary
> entries and transient mark mode is enabled 'i' in the agenda fails
> with 'mark is not active now'
>
> My workaround for this is C-SPC to set the mark anywhere legal in the
> agenda display (ie not on the first or last line) and then hit 'i'
> to insert my diary entries.
2009-11-20 12:29:03 +01:00
Carsten Dominik 8085c9030f Agenda: Make inserting diary entries also at end of line 2009-11-20 09:06:35 +01:00
Carsten Dominik 1bb0df0511 Allow diary entry insertion at top-level
Matt Lundin writes:

> The new org-agenda-diary-entry looks quite convenient.
>
> Would it be possible to add an option to bypass the date tree so as to
> add each new appointment as a simple first level heading? I prefer to
> keep my appointments organized by project and/or category and have no
> real use for the date tree. Ideally, new appointments would appear as
> first level headlines in the org-agenda-diary-file (i.e., my inbox),
> ready to be refiled.
2009-11-19 15:34:43 +01:00
Carsten Dominik 3cdff230dd Minor fixes
Patch by Noorul Islam.
2009-11-18 10:37:16 +01:00
Carsten Dominik c7371cc7fe Push version number to 6.33trans 2009-11-15 09:46:43 +01:00
Carsten Dominik 6bc6379dfe Release 6.33c 2009-11-15 08:00:52 +01:00
Carsten Dominik 9b31c1f7b3 Fix declarations 2009-11-15 07:43:37 +01:00
Carsten Dominik 6c977c41c3 Release 6.33b 2009-11-14 16:25:31 +01:00