Commit Graph

1243 Commits

Author SHA1 Message Date
Peter Münster 68ffb7a7cc Agenda: Allow filter list without category in org-agenda-to-appt
* lisp/org-agenda.el (org-agenda-to-appt): Make sure filter-items are
strings before calling `string-match'.

Now it's possible to use (org-agenda-to-appt t '((headline "string"))).

TINYCHANGE
2011-10-24 23:43:58 +02:00
Bastien Guerry db04ef7498 org-agenda.el (org-agenda-to-appt): Better filtering.
* org-agenda.el (org-agenda-to-appt): Allow to refine the
scope of entries to pass to `org-agenda-get-day-entries' and
allow to filter out entries using a function.

Thanks to Peter Münster for raising a related issue and to
Tassilo Horn for this idea.
2011-10-23 23:21:34 +02:00
Bastien Guerry ba2d84b5f9 Merge branch 'master' of orgmode.org:org-mode 2011-10-23 23:03:03 +02:00
Bastien Guerry bc29a5c7ab Silence byte-compiler. 2011-10-23 22:45:53 +02:00
Nicolas Goaziou dc62cdcdf1 org-agenda: Fix small display bug.
* lisp/org-agenda.el: Fix small display bug.
2011-10-23 22:42:48 +02:00
Nicolas Goaziou dfcb6faef1 Provide more consistent regexps for headlines
* lisp/org-agenda.el (org-search-view): Simplify regexp.
(org-agenda-get-todos): Use new format string.
* lisp/org-archive.el (org-archive-all-done): Simplify regexp.
* lisp/org-ascii.el (org-export-as-ascii): More accurate regexp.
* lisp/org-colview-xemacs.el (org-columns-capture-view): Use new
  format string and new string.
* lisp/org-colview.el (org-columns-capture-view): Use new format
  string and new string.
* lisp/org-docbook.el (org-export-as-docbook): More accurate
  regexp.  Also use new regexp to match generic headlines.
* lisp/org-exp.el (org-export-protect-quoted-subtrees): More accurate
  regexp.  Also use new regexp to match generic headlines.
* lisp/org-html.el (org-export-as-html): More accurate regexp.  Also
  use new regexp to match generic headlines.
* lisp/org-mouse.el (org-mouse-match-todo-keyword): Removed unused
  and now erroneous function.
* lisp/org.el (org-heading-regexp, org-heading-keyword-regexp-format):
  New variables.
(org-set-regexps-and-options): Create regexps according to the
following rule: use spaces only to separate elements from an headline,
while allowing mixed tabs and spaces for any indentation job.
(org-nl-done-regexp, org-looking-at-done-regexp): Removed variables.
(org-set-font-lock-defaults): Fontify again headlines with a keyword
and no other text.  Use new format strings.
(org-get-heading, org-toggle-comment, org-prepare-agenda-buffers,
org-toggle-fixed-width-section): Use new format string.
(org-todo): More accurate regexps.
(org-point-at-end-of-empty-headline): Simplify regexp.
(org-insert-heading): Headline can sometimes be nil.

This patch attempts to reduce the number of hard-coded headlines, by
providing two format strings and one generic string to cover most of
the cases of headline construction.
2011-10-23 09:30:13 +02:00
David Maus 440ec7e2da Avoid conflict between bulk command and loop-over-headlines
* org-agenda.el (org-agenda-bulk-action): Bind
`org-loop-over-headlines-in-active-region' to nil to avoid conflict
with bulk command.
2011-10-22 16:20:44 +02:00
Bastien Guerry da5a68a0bc Rename `org-format-agenda-item' to `org-agenda-format-item'.
* org.el (org-format-agenda-item, org-scan-tags): Rename
`org-format-agenda-item' to `org-agenda-format-item'.

* org-agenda.el (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-format-item, org-agenda-add-time-grid-maybe)
(org-agenda-change-all-lines)
(org-agenda-add-entry-to-org-agenda-diary-file): Rename
`org-format-agenda-item' to `org-agenda-format-item'.

Using the `org-agenda-' prefix makes more sense here.
2011-10-22 15:08:33 +02:00
Bastien Guerry e0c1855dba Silent byte-compiler about `category-pos'.
* org-agenda.el: Replace `category-pos' by `org-category-pos'
to silent byte-compiler.
2011-10-22 15:04:33 +02:00
Tassilo Horn 4bbdfd229d Replace org-mode-p with usual (eq major-mode 'org-mode) check
Additionally, replace one

  (or (org-mode-p) (derived-mode-p 'org-mode))

with

  (derived-mode-p 'org-mode)

cause that is reflexive anyway (returns true, if the current mode is
org-mode).

Delete one check testing for org-mode or org derived mode
2011-10-22 11:29:24 +02:00
Bastien Guerry 989b079dd7 org-agenda.el (org-agenda-list-stuck-projects): Fix tiny bug.
* org-agenda.el (org-agenda-list-stuck-projects): Fix tiny bug.

This bug was introduced by a typo in Michael's patch for XEmacs
compatibility.
2011-10-22 10:13:11 +02:00
Carsten Dominik 0c8b9711a3 Agenda: Add missing option, document time stamp movement to future
* lisp/org-agenda.el (org-agenda-move-date-from-past-immediately-to-today):
New option.
(org-agenda-date-later): Improve the logical structure.

* doc/org.texi (Agenda commands): Document that S-right on a line
representing a past date will immediately shift that date to today.
2011-10-22 08:39:54 +02:00
Carsten Dominik 54a9cb0d99 Maintain XEmacs compatibility
* lisp/ob-calc.el (featurep): Require calc-store.
* lisp/org-agenda.el (org-agenda-list-stuck-projects): Fix regexp
special handling.
* lisp/org-compat.el (fboundp): Support for XEmacs.
* lisp/org-exp.el (org-export): Protect XEmacs from `(redisplay)' call.
* lisp/org-footnote.el (org-footnote-re): Optimize macro processing.
* lisp/org.el (org-set-autofill-regexps): Xemacs compatibility.

Patch by Michael Sperber, checked and slightly modified by Carsten.
2011-10-21 22:36:53 +02:00
Leo 5e67e9d824 Check if marker is valid before use
* lisp/org-agenda.el (org-agenda-do-context-action): Check if marker
is valid before use.
2011-10-21 10:09:40 +02:00
Carsten Dominik 7caa7e1ff7 Fix shifting of data ranges.
* lisp/org-agenda.el (org-agenda-date-later): Fix shifting of date ranges.

Patch based on code by Niels Giesen.
TINYCHANGE
2011-10-21 10:07:02 +02:00
Carsten Dominik f20eef318e Agenda: New behaviour when shifting scheduled date forward.
* lisp/org-agenda.el (org-agenda-date-later): Make pushing forward
a past date to jump immedialtely to today.
2011-10-16 11:09:45 +02:00
Carsten Dominik 468aa115ef Merge branch 'master' of orgmode.org:org-mode 2011-10-08 09:02:36 +02:00
Dave Abrahams e53f62eba9 Add indirect agenda follow mode
* lisp/org-agenda.el (org-agenda-follow-indirect): New option.
(org-agenda-follow-mode): Call `org-agenda-do-context-action' fro
follow mode.
(org-agenda-do-context-action): Also do indirect follow mode action.

By setting `org-agenda-follow-indirect' to a non-nil value,
`org-agenda-follow-mode' will use an indirect buffer to display only
the current item, rather than the whole agenda file in which it lives
2011-10-08 09:01:50 +02:00
niels giesen 3d83564b7d Time range end in agenda view not displayed
Giovanni Ridolfi <giovanni.ridolfi@yahoo.it> writes:

> michael holzer <michi_holzer_news@gmx.at> writes:
>
>> When I have an entry that contains a time range, for example:
>>
>> * timerange
>>   <2011-09-30 Fri 14:00>--<2011-09-30 Fri 18:00>
>>
>> this shows up in the agenda view as:
>>
>>   uni:        14:00...... timerange
>>
>> while I would expect something like:
>>
>>   uni:        14:00-18:00 timerange
>>
>
> |the manual says:
> |Time ranges can be specified with two timestamps,
> |like ‘<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>’.
> |
> | 20:30-22:15 Marvin escorts the Hitchhikers to the bridge
>
> I confirm this bug.
>
> Org-mode version 7.7 0e9d401519
> GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) of 2011-03-10 on 3249CTO
>
> Giovanni
>
>

Funny enough, I noticed this too last week, so I whipped up this patch.
It inserts the range when start date is the same as the end date. Please
test (it's still young) && include in Org if you so please.

#+begin_src diff
>From dcf81753aa5cab311f2a3a0272e4691e4bc6ea38 Mon Sep 17 00:00:00 2001
From: Niels Giesen <niels.giesen@gmail.com>
Date: Mon, 26 Sep 2011 11:43:55 +0200
Subject: [PATCH] Show timestamp ranges in agenda

* lisp/org-agenda.el (org-agenda-get-blocks): Show timestamp ranges in
  agenda if start day is same as end day
2011-10-05 16:46:18 +02:00
Carsten Dominik aefd49b909 Change default value of `org-agenda-skip-additional-timestamps-same-entry'
* lisp/org-agenda.el (org-agenda-skip-additional-timestamps-same-entry):
Change default value.
2011-10-04 14:30:32 +02:00
Carsten Dominik 620913e596 Improve error reporting on bad time stamps during agenda construction
* lisp/org.el (org-time-string-to-time):
(org-time-string-to-absolute): Add optional arguments BUFFER and POS
for error reporting.
* lisp/org-agenda.el (org-get-all-dates):
(org-agenda-get-timestamps):
(org-agenda-get-deadlines):
(org-agenda-get-scheduled):
(org-agenda-get-blocks): Call time stamp parsing functions with
information on where the timestamp was taken from.
2011-10-04 14:12:11 +02:00
Bastien Guerry 8bd2ff192e org-agenda.el: Add `category-pos' in let construct.
* org-agenda.el (org-search-view, org-agenda-get-todos)
(org-agenda-get-deadlines, org-agenda-get-scheduled): Add
`category-pos' in let construct.

Thanks to Achim Gratz for spotting this.
2011-08-25 23:42:07 +02:00
Bastien Guerry 02fad0981f org-agenda.el: Correctly set the `org-category-pos' property.
* org-agenda.el (org-agenda-get-timestamps)
(org-agenda-get-sexps, org-agenda-get-progress): Correctly set
the `org-category-pos' property.

Thanks to Michael Brand for signaling this problem, and to Nick
Dokos and Erik Iverson for confirming it.
2011-08-25 15:20:10 +02:00
Nicolas Goaziou ecc6e2fe3f org-agenda: refactor code in `org-agenda-dim-blocked-tasks' 2011-08-24 18:32:19 +02:00
Bastien Guerry fc4628ef56 * org-agenda.el (org-agenda-get-todos): Properly set `category-pos'.
* org-agenda.el (org-agenda-get-todos): Properly set
`category-pos'.

Thanks to Noorul Islam for this patch.
2011-08-24 10:17:09 +02:00
Bastien Guerry 15798836e2 New 'org-category-position text property in agendas.
* org.el (org-refresh-category-properties): New text property
'org-category-position to point at the beginning of the
headline from which the category is set.

* 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-filter-by-tag-refine): Add the
'org-category-position text property.

This commit prepares for a future `org-agenda-set-category'
function allowing to set the category of the headline at point.
2011-08-23 17:34:15 +02:00
Bastien Guerry cdbf7ed876 Revert "Move three functions and add appropriate require/declarations."
This reverts commit 8c3ecbe39a.
2011-08-19 22:11:15 +02:00
Carsten Dominik 85cc7670c0 Merge branch 'cleanup-include-all-stuff-in-agenda.el' 2011-08-19 15:30:46 +02:00
Bastien Guerry 54fe955c9a org-agenda.el: Mention "%e" in the docstring of org-agenda-prefix-format.
* org-agenda.el (org-agenda-prefix-format): Mention "%e" in
the docstring.
2011-08-19 15:16:38 +02:00
Carsten Dominik b3de2dbb95 Set a default custom command, agenda plus TODO items
* lisp/org-agenda.el (org-agenda-custom-commands): Set a default value
for this command.
2011-08-19 12:41:11 +02:00
Carsten Dominik 8404f15647 Clean up the misleading name INCLUDE-ALL in some agenda functions
* lisp/org-agenda.el (org-agenda-include-all-todo): Declare this
option as no longer working.
(org-timeline): Rename the include-all argument to dotodo.
(org-arg-loc): Renamed from` org-include-all-loc'.
(org-agenda-list): Rename the INCLUDE-ALL argument to ARG, because its
function has changed.
2011-08-19 12:41:02 +02:00
Bastien Guerry 8c3ecbe39a Move three functions and add appropriate require/declarations.
* org-clock.el (org-duration-string-to-minutes)
(org-minutes-to-hh:mm-string, org-hh:mm-string-to-minutes):
Move from org.el.
2011-08-17 16:08:02 +02:00
Bastien Guerry 58f1dbccf8 Remove the "Version" header in Org libraries (leave it in org.el).
Also remove blank lines before the ";;; org*el ends here" declarations.

Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.

Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
2011-08-17 14:42:34 +02:00
Bastien Guerry afa408dcd6 org-agenda.el (org-cmp-effort): Fix docstring.
* org-agenda.el (org-cmp-effort): Fix docstring.
2011-08-16 16:16:43 +02:00
Bastien Guerry 7a18799e25 Remove arch-tag at the bottom of files. 2011-08-15 20:04:38 +02:00
Bastien Guerry 904ed18bc2 Fix copyright years for elisp files in core and contrib.
Also add "This file is not part of GNU Emacs." when this is the case.
2011-08-15 15:23:11 +02:00
Bastien Guerry 71332ac8a6 Move org-agenda-todo-yesterday from org.el to org-agenda.el. 2011-08-15 09:39:52 +02:00
Michael Brand 2f07dd5163 Agenda: Simplify old fix of face for deadline warning 0 day
* lisp/org-agenda.el (org-agenda-get-deadlines): Fix dfrac for the
case of wdays being 0.  Don't pass wdays to org-agenda-deadline-face,
like before the old fix.
(org-agenda-deadline-face): Revert to old state that was without
wdays.

This allows a deadline warning period of "-0d" to work also with a
custom configuration like:
(setq org-agenda-deadline-faces
      '((1.0001 . org-warning)              ; due yesterday or before
        (0.0    . org-upcoming-deadline)))  ; due today or later
For org-agenda-deadline-faces left at default and all other settings
not exceeding 1.0, the face for a deadline warning of any length
remains untouched by this patch.

references to history:
* commit of the old fix
  - http://orgmode.org/w/?p=org-mode.git;a=commitdiff;h=d0d6325
  - git show d0d6325
* mailing list old thread
  - http://thread.gmane.org/gmane.emacs.orgmode/5753
  - http://lists.gnu.org/archive/html/emacs-orgmode/2008-02/msg00395.html
2011-08-14 18:40:42 +02:00
David Maus 545bfddeea Provide edebug specifications for macros
* org-macs.el (org-with-gensyms, org-called-interactively-p)
(with-silent-modifications, org-bound-and-true-p)
(org-unmodified, org-re, org-preserve-lc)
(org-without-partial-completion, org-with-point-at)
(org-no-warnings, org-if-unprotected, org-if-unprotected-1)
(org-if-unprotected-at, org-with-remote-undo)
(org-no-read-only, org-save-outline-visibility)
(org-with-wide-buffer, org-with-limited-levels)
(org-eval-in-environment): Provide edebug specifications.
* org-src.el (org-src-do-at-code-block): Dto.
* org-publish.el (org-publish-with-aux-preprocess-maybe): Dto.
* org-compat.el (org-xemacs-without-invisibility): Dto.
* org-clock.el (org-with-clock-position, org-with-clock): Dto.
* org-agenda.el (org-agenda-with-point-at-orig-entry)
(org-batch-agenda, org-batch-agenda-csv)
(org-batch-store-agenda-views): Dto.
* ob.el (org-babel-do-in-edit-buffer)
(org-babel-map-src-blocks, org-babel-map-inline-src-blocks): Dto.
* ob-tangle.el (org-babel-with-temp-filebuffer): Dto.
* ob-table.el (sbe): Dto.
* ob-exp.el (org-babel-exp-in-export-file): Dto.
* ob-comint.el (org-babel-comint-in-buffer)
(org-babel-comint-with-output): Dto.
2011-08-12 08:38:59 +02:00
David Maus 06591f2ccc Fix argument to append when creating final parameter alist
* org-agenda.el (org-batch-agenda-csv): Fix argument to append when
creating final parameter alist.
2011-08-10 10:10:40 +02:00
David Maus 679c21f8ec Use macro `org-eval-in-environment' in `org-batch-store-agenda-views'
* org-agenda.el (org-batch-store-agenda-views): Use macro
`org-eval-in-environment'.
2011-08-10 09:43:57 +02:00
David Maus 0837adbec8 Provide explanation why batch functions are implemented as macros
,----
| The functions `org-batch-agenda', `org-batch-agenda-csv', and
| `org-batch-store-agenda-views' are implemented as macros to provide
| a conveniant way for extracting agenda information from the command
| line. The Lisp does not evaluate parameters of a macro call; thus
| it is not necessary to quote the parameters passed to one of those
| functions. E.g. you can write:
|
|   emacs -batch -l ~/.emacs -eval '(org-batch-agenda "a" org-agenda-span 7)'
|
| To export an agenda spanning 7 days. If `org-batch-agenda' would
| have been implemented as a regular function you'd have to quote the
| symbol org-agenda-span. Moreover: To use a symbol as parameter
| value you would have to double quote the symbol.
|
| This is a hack, but it works even when running Org byte-compiled.
`----
2011-08-10 09:43:57 +02:00
David Maus f0958680db Use `org-eval-in-environment
* org-agenda.el (org-batch-agenda, org-batch-agenda-csv): Use
`org-eval-in-environment.
2011-08-10 09:43:57 +02:00
David Maus b471e56a3e Use macro `org-with-gensyms' in `org-agenda-with-point-at-orig-entry'
* org-agenda.el (org-agenda-with-point-at-orig-entry): Use macro
`org-with-gensyms'.
2011-08-10 08:52:15 +02:00
Bastien Guerry 57f6a8d97a Revert "org-agenda: bugfix: always refresh the agenda when needed."
This reverts commit 1fa0f027cd.
2011-07-28 17:22:38 +02:00
emacs 7340cee33a Update website to show 7.7 as current release 2011-07-28 10:33:35 +00:00
Bastien Guerry 1fa0f027cd org-agenda: bugfix: always refresh the agenda when needed.
* org-agenda.el (org-agenda-filter-by-tag): bugfix: always
refresh the agenda when needed.

Thanks to Nicolas Dudebout for pointing this out.
2011-07-28 11:43:56 +02:00
Max Mikhanosha f760b919d5 (org-agenda-set-effort): Refresh changed lines 2011-07-27 14:59:25 +02:00
Max Mikhanosha 860caf9f46 (org-agenda-change-all-lines): Change to item's buffer and use original column format that item was generated with 2011-07-27 14:59:19 +02:00
Max Mikhanosha 0cd6d82d39 Fix error with %e agenda prefix format when there is no effort set 2011-07-27 14:59:13 +02:00
Bastien Guerry 6808a1a1c0 org-agenda: fix two minor docstring typos. 2011-07-24 17:17:10 +02:00
Bastien Guerry 0625a74b08 org-agenda.el (org-agenda-prefix-format): improve docstring.
Thanks to Tassilo for pointing at this.
2011-07-21 12:16:36 +02:00
Bastien Guerry 09859b303d org-agenda.el (org-agenda-bulk-custom-functions): minor docstring fix. 2011-07-19 11:35:41 +02:00
Bastien Guerry 5c53026d32 Fix (a lot of) compiler warnings.
Also introduce `org-pop-to-buffer-same-window' as a compatibility
function for Emacs =>24.1.
2011-07-18 19:25:10 +02:00
Bastien Guerry c3748fcd80 Don't use `outline-regexp' anymore.
Use `org-outline-regexp' instead or `outline-regexp'.  Also use the
new defconst `org-outline-regexp-bol' to match `org-outline-regexp'
at the beginning of line.

* org.el (org-outline-regexp-bol): New defconst.
(org-outline-level, org-set-font-lock-defaults, org-cycle)
(org-overview, org-content, org-flag-drawer)
(org-first-headline-recenter, org-insert-todo-heading)
(org-map-region, org-move-subtree-down, org-paste-subtree)
(org-kill-is-subtree-p, org-context-p, org-refile)
(org-refile-new-child, org-toggle-comment, org-todo)
(org-add-planning-info, org-add-log-setup, org-scan-tags)
(org-set-tags, org-insert-property-drawer)
(org-prepare-agenda-buffers, org-preview-latex-fragment)
(org-speed-command-default-hook, org-check-for-hidden)
(org-toggle-item, org-toggle-heading)
(org-indent-line-function, org-set-autofill-regexps)
(org-fill-paragraph, org-toggle-fixed-width-section)
(org-yank-generic, org-yank-folding-would-swallow-text)
(org-first-sibling-p, org-goto-sibling)
(org-goto-first-child, org-show-entry): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-remember.el (org-remember-handler): Use
`org-outline-regexp-bol'.

* org-mouse.el (org-mouse-match-todo-keyword, org-mode-hook)
(org-mouse-move-tree, org-mouse-transform-to-outline): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-macs.el (org-with-limited-levels)
(org-get-limited-outline-regexp): Use `org-outline-regexp'.

* org-indent.el (org-indent-outline-re)
(org-indent-refresh-section, org-indent-refresh-to): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-html.el (org-export-as-html): Use
`org-outline-regexp-bol'.

* org-footnote.el (org-footnote-at-definition-p)
(org-footnote-normalize): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-exp.el (org-export-preprocess-string): Don't redefine
`outline-regexp'.

* org-docbook.el (org-export-as-docbook): Use
`org-outline-regexp-bol'.

* org-colview.el (org-columns, org-columns-compute): Use
`org-outline-regexp' and `org-outline-regexp-bol'.

* org-colview-xemacs.el (org-columns, org-columns-compute):
Use `org-outline-regexp-bol'.

* org-clock.el (org-clock-insert-selection-line)
(org-clock-in, org-clock-out, org-dblock-write:clocktable):
Use `org-outline-regexp' and `org-outline-regexp-bol'.

* org-ascii.el (org-export-as-ascii)
(org-export-ascii-push-links): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-archive.el (org-archive-to-archive-sibling)
(org-archive-all-done): Use `org-outline-regexp' and
`org-outline-regexp-bol'.

* org-agenda.el (org-agenda, org-search-view)
(org-agenda-list-stuck-projects, org-agenda-get-timestamps)
(org-agenda-get-progress, org-agenda-get-blocks): Use
`org-outline-regexp' and `org-outline-regexp-bol'.
2011-07-18 09:42:11 +02:00
Bastien Guerry 1029a92517 org-agenda.el: New variable for custom bulk action functions.
* org-agenda.el (org-agenda-bulk-custom-functions): New
variable for custom bulk action functions.
(org-agenda-bulk-action): Use it.

Thanks to Julien Cubizolles for triggering this idea.
2011-07-12 08:31:36 +02:00
Bastien Guerry 9c05a7c781 Bump to version 7.6 2011-07-06 21:06:03 +02:00
Bastien Guerry ff038caae5 Revert "Silence byte-compiler with a new alias: filter-buffer-substring-functions."
This reverts commit 5a2eec3207.

The replacement of `buffer-substring-filters' by
`filter-buffer-substring-functions' requires some rewriting
of functions like `org-indent-remove-properties-from-string'.
2011-07-06 20:56:39 +02:00
Bastien Guerry 5a2eec3207 Silence byte-compiler with a new alias: filter-buffer-substring-functions.
When `filter-buffer-substring-functions' is not a known variable to
Emacs (for versions < 24.1), we alias it to `buffer-substring-filters'.
2011-07-05 12:00:15 +02:00
Rémi Vanicat 5a20035809 org-agenda.el: fix bug in org-diary-class.
calendar-absolute-from-gregorian returns a number of day and
should not be used here.
2011-07-04 11:00:54 +02:00
Michael Brand d298908394 Allow to disable the agenda block separator per block
* org-agenda.el (org-agenda-compact-blocks): Improve docstring.
(org-agenda-block-separator): Add nil to docstring and customization.
(org-prepare-agenda): Skip agenda block separator additionally if
org-agenda-block-separator is nil.
(org-agenda-overriding-header): Improve docstring.

This change allows to disable the agenda block separator only and also
per block only.  (The variable org-agenda-compact-blocks non-nil
disables agenda block separators together with the line containing the
agenda span name and week number and does this globally for all blocks
and all custom agenda commands.)
2011-06-30 18:40:48 +02:00
Michael Markert b3e8b3f87c adding optional argument KIND to all org-called-interactively-p function invocations
* lisp/ob.el (org-babel-sha1-hash): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
* lisp/org-agenda.el (org-agenda-redo): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-agenda-show-1): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-agenda-set-tags): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org-ascii.el (org-export-as-latin1): Adding optional argument
  KIND to all org-called-interactively-p function invocations.
  (org-export-as-latin1-to-buffer): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-export-as-utf8-to-buffer): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-export-region-as-ascii): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org-docbook.el (org-export-region-as-docbook): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-html.el (org-export-region-as-html): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-latex.el (org-export-region-as-latex): Adding optional
  argument KIND to all org-called-interactively-p function
  invocations.
* lisp/org-table.el (org-table-blank-field): Adding optional argument
  KIND to all org-called-interactively-p function invocations.
  (org-table-current-column): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-current-dline): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-sort-lines): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-sum): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-table-rotate-recalc-marks): Adding optional argument KIND to
  all org-called-interactively-p function invocations.
  (org-table-eval-formula): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (orgtbl-send-table): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
* lisp/org.el (org-mode): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-copy-subtree): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-paste-subtree): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-store-link): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-todo): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
  (org-occur): Adding optional argument KIND to all
  org-called-interactively-p function invocations.
2011-06-29 16:22:58 -07:00
Bastien Guerry 2b7dbee193 Replace interactive-p with the org-called-interactively-p macro.
Interactive-p is an obsolete function as of Emacs 23.2.
`org-called-interactively-p' takes care of the current (x)Emacs
version and use either `interactive-p' (for XEmacs and Emacs<23.2)
or `called-interactively-p'.
2011-06-29 18:24:08 +02:00
Carsten Dominik e860e08e58 Merge branch 'master' of orgmode.org:org-mode 2011-06-21 20:07:08 +02:00
Carsten Dominik 6413de8e91 Introduce alias for diary-float
* lisp/org-agenda.el (org-float): Aliases for `diary-float'.

This is just to make sure that all the diary sexp functions
have org- equivalents.  org-float is just an alias because no
arguments need to be switched around.
2011-06-21 15:43:14 +02:00
Bastien Guerry 8608b6651d Fix doubled-word typo.
Thanks to Jim Meyering <jim@meyering.net> for this upstream fixes.
2011-06-20 15:38:24 +02:00
Eric Schulte db1c3f6a3e Revert "replacing calls to now-defunct function `interactive-p'"
This reverts commit 4f084e1467.
2011-06-16 21:32:54 -07:00
Eric Schulte fa59060617 Revert "Globally replace buffer-substring-filters with filter-buffer-substring-functions."
This reverts commit 66e8a4b09a.
2011-06-16 10:29:24 -07:00
Carsten Dominik 12d51dad7b Use a new function to mark anniversaries in Org diary files
* lisp/org-agenda.el (org-agenda-add-entry-to-org-agenda-diary-file):
Use stable internal `org-anniversary' instead of diary-anniversary.
(org-class): New function.
(org-diary-class): Use `org-class'.
(org-anniversary, org-cyclic, org-date, org-block): New functions.

This patch provides stable alternatives for a number of diary
functions to be used in diary sexp entries. The corresponding diary-*
functions swap around their input arguments depending on
`calendar-date-style', which is unstable and evil.  The functions
provided here have a fixed order of arguments, the ISO order: year
month day.

Also, the `i a' key in the agenda now uses `org-anniversary' instead of
diary-anniversary.
2011-06-16 14:34:07 +02:00
Eric Schulte 66e8a4b09a Globally replace buffer-substring-filters with filter-buffer-substring-functions.
* lisp/org-agenda.el (org-agenda-mode): Globally replace
  buffer-substring-filters with filter-buffer-substring-functions.
* lisp/org-indent.el (org-indent-mode): Globally replace
  buffer-substring-filters with filter-buffer-substring-functions.
2011-06-14 12:45:19 -07:00
Eric Schulte 4f084e1467 replacing calls to now-defunct function `interactive-p'
* lisp/org-agenda.el (org-agenda-redo): Replacing call to now-defunct
  function `interactive-p'.
  (org-agenda-show-1): Replacing call to now-defunct function
  `interactive-p'.
  (org-agenda-set-tags): Replacing call to now-defunct function `interactive-p'.
* lisp/org-ascii.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-latin1): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-latin1-to-buffer): Replacing call to now-defunct
  function `interactive-p'.
  (org-export-as-utf8): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-as-utf8-to-buffer): Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-ascii): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-docbook.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-docbook): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-html.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-html): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-latex.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-export-region-as-latex): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-macs.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-called-interactively-p): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function `interactive-p'.
* lisp/org-table.el: Replacing call to now-defunct function
  `interactive-p'.
  (org-table-blank-field): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-current-column): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function
  `interactive-p'.
  (org-table-current-dline): Replacing call to now-defunct function
  `interactive-p'.Replacing call to now-defunct function
  `interactive-p'.
  (org-table-sort-lines): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-sum): Replacing call to now-defunct function
  `interactive-p'.
  (org-table-rotate-recalc-marks): Replacing call to now-defunct
  function `interactive-p'.
  (org-table-eval-formula): Replacing call to now-defunct function
  `interactive-p'.
  (orgtbl-send-table): Replacing call to now-defunct function `interactive-p'.
* lisp/org.el: Replacing call to now-defunct function `interactive-p'.
  (org-mode): Replacing call to now-defunct function `interactive-p'.
  (org-copy-subtree): Replacing call to now-defunct function
  `interactive-p'.
  (org-paste-subtree): Replacing call to now-defunct function
  `interactive-p'.
  (org-store-link): Replacing call to now-defunct function
  `interactive-p'.
  (org-todo): Replacing call to now-defunct function `interactive-p'.
  (org-occur): Replacing call to now-defunct function `interactive-p'.
2011-06-14 11:37:59 -07:00
Carsten Dominik 36dd7e2150 Fix bulk scattering command
* lisp/org-agenda.el (org-agenda-bulk-action): Fix bug caused by
`days-to-time, converting relative to 1 BC, while the code assumed it
would return a time relative to 1970.

For more information, see

http://thread.gmane.org/gmane.emacs.orgmode/42531
2011-06-14 10:39:58 +02:00
Carsten Dominik af730fec0a Get rid of some compiler warnings 2011-05-11 10:10:24 +02:00
Carsten Dominik 9dba548cd5 Agenda Views: Call `org-agenda-skip' first.
* lisp/org-agenda.el (org-agenda-get-todos): Call `org-agenda-skip' first,
then check if timestamps cause exclusion.
* lisp/org.el (org-scan-tags):  Call `org-agenda-skip' first,
then check if timestamps cause exclusion.

For more information, see the following mailing list thread:

http://thread.gmane.org/gmane.emacs.orgmode/41052/focus=41052
2011-05-10 08:58:04 +02:00
Matt Lundin ad28fc9a61 Making the output of %% functions linkable in agenda views
charles.sebold@lcms.org writes:

> On 7 Apr 2011, Charles Sebold wrote:
>
>> Here's a test.  Take the line below and put it in an agenda file, then
>> view the agenda.
>>
>> %%(format "%s" (concat "[[elisp:(info)]" "[Link to info]]"))
>>
>> The results as I see them give me a link that I can mouse-click on,
>> but I can't move point to it and hit C-c C-o.
>>
>> What do I need to do to make this a normal org link in every way?  Or
>> is this a bug?
>>

Here's what seems to be going on.

Clicking with the mouse works because it calls org-open-at-mouse, which
(by calling org-open-at-point) simply looks at the text surrounding the
click point to find a link.

The function org-agenda-open-link, on the other hand, grabs part of the
headline as a string (the prefix), then jumps to the location in the
original buffer and calls org-offer-links-in-entry to look for links in
both the entry and the prefix of agenda text. Obviously, it won't find
your link in the original entry since it looks like this:

%%(format "%s" (concat "[[elisp:(info)]" "[Link to info]]"))

I think it shouldn't be a problem to pass the whole agenda line to
org-offer-links-in-entry. This will not result in duplicate links, since
org-offer-links-in-entry "uniquifies" the links.

I've attached a patch.

The bigger question, however, is why the expression above is even
showing up in the agenda, since it contains no scheduling information.
:)

Best,
Matt

>From 58c7621c0c84b9c1930098a098e4559aa516eec0 Mon Sep 17 00:00:00 2001
From: Matt Lundin <mdl@imapmail.org>
Date: Tue, 3 May 2011 15:54:35 -0400
Subject: [PATCH] Pass entire text of agenda line to org-offer-links-in-entry.

* lisp/org-agenda.el (org-agenda-open-link): Pass entire text of
  agenda line to org-offer-links-in-entry.

This fixes bug noticed by Charles Sebold, in which links that are
dynamically formatted for the agenda view are ignored.
http://permalink.gmane.org/gmane.emacs.orgmode/40673
2011-05-04 09:43:01 +02:00
Matt Lundin 95a8b0680e Removed unecessary invocations of org-agenda-show.
lisp/org-agenda.el (org-agenda-set-tags): Remove org-agenda-show to prevent
disrupting windows and changing point in original buffer.
(org-agenda-set-property): Same
(org-agenda-set-effort): Same
(org-agenda-toggle-archive-tag): Same

When setting a tag in the agenda, org-mode displays the corresponding
entry in the original org buffer by calling org-agenda-show. This has
the unwelcome side-effect of disrupting the current window arrangement
and changing the position of the point in the original buffer. This
behavior is inconsistent with the that of org-agenda-todo, which makes
all its changes "silently."

Here is the offending line (6799) in org-agenda-set-tags:

--8<---------------cut here---------------start------------->8---
(org-agenda-show)   ;;; FIXME This is a stupid hack and should not be needed
--8<---------------cut here---------------end--------------->8---

The same line occurs in org-agenda-set-property, org-agenda-set-effort,
and org-agenda-toggle-archive tag.
2011-05-02 10:08:54 +02:00
Carsten Dominik ad4970a32e Configurable faces for clock problems
* lisp/org-agenda.el (org-agenda-clock-consistency-checks): Allow to
set properties.
(org-agenda-show-clocking-issues): Handle faces.
2011-04-27 13:49:11 +02:00
Carsten Dominik acda0ee212 Fix typos 2011-04-24 17:21:47 +02:00
Carsten Dominik 02441ed433 Implement clock consistency check functionality for agenda
* lisp/org-agenda.el (org-agenda-clock-consistency-checks): New option.
(org-agenda-list): Handle display change to clock check.
(org-agenda-get-progress): Show only clock entries if we are doing the
consistency check.
(org-agenda-show-clocking-issues): New function.
(org-agenda-check-clock-gap): New function.
(org-agenda-view-mode-dispatch): Offer consistency check.
(org-agenda-log-mode): Handle switch to clock only display.
(org-agenda-set-mode-name): Show lighter for Clockcheck.
* lisp/org.el (org-hh:mm-string-to-minutes): Accept an integer argument
and return it unchanged.
* doc/org.texi (Agenda commands): Document clock consistency checks.
* doc/orgcard.tex: Document key for clock consistency check.
2011-04-24 17:17:25 +02:00
Carsten Dominik c9958a3999 Fix agenda bulk commands
* lisp/org-agenda.el (org-agenda-bulk-action): Do not use the entries
variable before it is defined
2011-04-16 18:05:51 +02:00
Bernt Hansen 4262dc1cbc Fix typo in agenda local variable
* lisp/org-agenda.el (org-agenda-filter-by-tag): Fix variable name typo

maybe-reftresh -> maybe-refresh
2011-04-15 13:56:12 +02:00
Bernt Hansen 383cb5dcaa Fix agenda display when headlines are missing
* lisp/org-agenda.el (org-agenda-get-timestamps): Fix agenda display when headlines are missing

The following entry breaks the agenda display.

,----
| ****
|         :PROPERTIES:
|         :DateCreated: <2011-04-13 Mi 10:00>
|         :END:
|
| [[gnus:nntp%2BGwene:gwene.org.emacsen.planet][gnus:nntp+Gwene:gwene.org.emacsen.planet]]
`----

Provide the empty string as the headline if the search for the
headline returns nil.  org-format-agenda-items requires a string for
the headline parameter.
2011-04-15 13:55:01 +02:00
Carsten Dominik e20166eb29 Fix the bulk scatter command to always schedule
* lisp/org-agenda.el (org-agenda-bulk-action): Allow bulk scatter
in all possible agenda views.  Use `org-agenda-schedule' instead of
`org-agenda-date-later'.

The bulk scatter command so far shifted the date that was causing an
entry to appear in the agenda.  However, the true intend was to
reschedule onto dates in the near future.  This patch fixes this
issue.  A side effect is that you can now bulk scatter tasks that to
not yet have a date, for example also tasks picked from the TODO
list.
2011-04-14 00:10:56 +02:00
Bastien Guerry 098ef03fa9 Minor cleanup. 2011-04-09 16:20:46 +02:00
Bastien Guerry b20bb56ba9 * org-agenda.el (org-agenda-start-day): Minor docstring update. 2011-04-08 18:48:08 +02:00
Bernt Hansen 770c2ddfba Remove obsolete functionality to add todo list in front of agenda
* lisp/org-agenda.el: Remove obsolete code for adding todo list in front
of the agenda

Todo lists should be built with the TODO list or a block agenda instead.

This code was triggered for C-u R in block agendas which is used to
limit the clock report to the current tags filter applied to the
agenda.
2011-04-08 12:27:27 +02:00
Julien Danjou 9939312b37 org-agenda: fix length computing
* lisp/org-agenda.el (org-format-agenda-item): Fix length computing.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-18 11:22:54 +01:00
Julien Danjou 7426874fd9 org-agenda: fix comment and use add-text-properties when formatting
* lisp/org-agenda.el (org-format-agenda-item): Fix comment and use
`add-text-properties'.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-17 17:50:39 +01:00
Julien Danjou 9216453a38 org-agenda: remove useless concat
* lisp/org-agenda.el (org-agenda-highlight-todo): Remove useless `concat'.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-17 17:50:39 +01:00
Julien Danjou 706a0b509c org-agenda: remove no-prefix argument
* lisp/org-agenda.el (org-agenda-get-timestamps):
(org-agenda-get-scheduled): Fix call to `org-format-agenda-item'.
(org-format-agenda-item): Remove no-prefix argument.
(org-agenda-change-all-lines): Call org-format-agenda-item without the
no-prefix argument.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-16 18:26:29 +01:00
Julien Danjou c84d77a7a0 org-agenda: remove prefix-length property
* lisp/org-agenda.el (org-agenda-highlight-todo): Stop using prefix-length.
(org-cmp-alpha): Stop using prefix-length.
(org-agenda-open-link): Stop using prefix-length.
(org-agenda-change-all-lines): Stop using prefix-length.
* lisp/org-colview-xemacs.el (org-columns-display-here): Stop using
prefix-length. Always return claned items.
* lisp/org-colview.el (org-columns-display-here): Stop using
prefix-length. Always return claned items.
* lisp/org-mobile.el (org-mobile-write-agenda-for-mobile): Stop using
prefix-length.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-03-16 18:18:23 +01:00
Bastien Guerry 25ea18739d Remove trailing whitespaces. 2011-03-10 10:42:57 +01:00
Puneeth Chaganti 5b1b94ac42 * org-agenda.el (org-agenda-bulk-action): Allow the user to run a function.
* org-agenda.el (org-agenda-bulk-action): Allow the user to
run a function.
2011-03-10 10:41:00 +01:00
emacs 11a10bdfe7 Update website to show 7.5 as current release 2011-03-07 14:27:39 +00:00
Lawrence Mitchell 75a1b98cfb Support modifiers in effort durations (was: Re: Does Effort support hours only?)
Luke Crook wrote:
> Is it possible to specify estimated effort in something other
> than hours (0.5, or 0:30)?

> For example 1w, 1m, 2d etc?

Here's a cleaned up patch that allows user-specified modifiers
for effort strings.  The new variable `org-effort-durations'
lists modifiers, and their mapping to minutes (words, as well as
single-letter modifiers, are supported).  The default value is:

(("h" . 60)
 ("d" . 480) ; 8 hours
 ("w" . 2400) ; five days
 ("m" . 9600) ; 4 weeks
 ("y" . 96000)) ; 40 weeks

But you can change this.

Old effort strings (HH:MM) are still interpreted correctly.  See
the docstrings of `org-effort-durations' and
`org-duration-string-to-minutes' for more details.

>From a0e24b14755eb4087d9c47bb4eea11eb9151efcf Mon Sep 17 00:00:00 2001
From: Lawrence Mitchell <wence@gmx.li>
Date: Fri, 18 Feb 2011 11:01:46 +0000
Subject: [PATCH] Allow human-readable effort durations
To: emacs-orgmode@gnu.org

* lisp/org.el (org-effort-durations): New variable.
* lisp/org.el (org-duration-string-to-minutes): New function.
* lisp/org-agenda.el (org-agenda-filter-effort-form)
(org-format-agenda-item): Use it.
* lisp/org-clock.el (org-clock-notify-once-if-expired)
(org-clock-modify-effort-estimate, org-clock-get-clock-string): Use it.

Specifying large effort durations in hours and minutes is difficult.
Is 130:25 more than two weeks effort?  More than three?  This patch
allows specification of an effort duration as a friendly string.  For
example 2w 5d is two weeks and five days of effort.  Existing H:MM
entries will still be recognised correctly.
2011-03-06 18:27:14 +01:00
Bastien Guerry ef549e0891 org-agenda.el: Rename org-run-agenda-series to org-agenda-run-series.
* org-agenda.el (org-agenda-run-series): Rename from
`org-run-agenda-series'.
2011-03-06 18:12:35 +01:00
Bastien Guerry 82224d6b34 org-agenda.el: bugfix, remove useless `org-agenda-current-span'.
* org-agenda.el (org-agenda-list): Fix bug: don't rely on
`org-agenda-current-span' when calling `org-agenda-list'.
2011-03-06 16:37:55 +01:00
Tassilo Horn 9d1ce51c09 Use and show default refiling location.
* org.el (org-refile-get-location): Set and show default
	value.
	(org-goto, org-refile): Adapt calls.

	* org-id.el (org-id-get-with-outline-path-completion): Adapt
	call.

	* org-agenda.el (org-agenda-refile, org-agenda-bulk-action):
	Adapt calls.

	* org-remember.el (org-remember-handler): Adapt call.
2011-03-05 12:24:47 +01:00
Bastien Guerry fc702a8345 Keep the compiler happy. 2011-03-04 15:21:05 +01:00
Matt Lundin 9bb4ef66ab org-agenda-append-agenda: check that we are in an agenda buffer. 2011-03-03 17:40:08 +01:00
Carsten Dominik 5726eb0676 Bind some local variables
* lisp/org-agenda.el (org-agenda-get-scheduled):
(org-agenda-get-timestamps): Bind local variable `show-all'.
2011-03-01 07:27:57 +01:00
Carsten Dominik aaf0e2d6bb Get rid of some compiler warnings
* Makefile (lisp/org-special-blocks.elc): Add dependency on org-compat.el
* lisp/ob-ref.el (org-at-item-p): Declare function.
* lisp/org-agenda.el (diary-time-regexp): defvar.
* lisp/org-archive.el (org-archive-subtree): Bind local variable `infile-p'.
* lisp/org-capture.el (org-capture-insert-template-here): Get template
text from property list, to avoid byte compiler message.
* lisp/org-latex.el (org-export-latex-tables): Bind local variable `width'.
* lisp/org-special-blocks.el (org-compat): Add require statement.
* lisp/org-table.el (orgtbl-ctrl-c-ctrl-c): Bind local variable `const-str'.
* lisp/org.el (org-eval): Moved function here from org-agenda.el.
2011-03-01 07:24:14 +01:00
Bastien Guerry 3655dcbd37 New command `org-agenda-append-agenda' to append agendas.
* org-agenda.el (org-agenda-append-agenda): New command.
(org-agenda-mode-map): New keybinding to this new command.
2011-02-19 12:13:42 +01:00
Bastien Guerry c6dbde1bab Fix bug when redoing a block agenda command.
* org-agenda.el (org-agenda): Set the 'last-args property to
nil when calling `org-agenda'.  Don't kill the local variable
`org-agenda-current-span'.
(org-run-agenda-series): Use the new property 'last-args.
(org-agenda-change-time-span): Use the dynamically set
`org-agenda-overriding-arguments' variable when non-nil.

Thanks to Matt Lundin and Michael Brand for reporting this.
2011-02-18 15:15:54 +01:00
Bastien Guerry fa9dfe52b6 Fix bug when scattering deadline and improve org-agenda-bulk-mark-regexp.
* org-agenda.el (org-agenda-date-later)
(org-agenda-date-earlier): Enhance docstrings.
(org-agenda-bulk-mark-regexp): Only match against headlines.
Send a message when no entry is marked.
(org-agenda-bulk-action): Fix bug about scattering deadlines.
Send an error when trying to scatter outside an agenda or a
timeline view.  Silently fail when trying to scatter sexp
entries.
2011-02-13 17:40:08 +01:00
Bastien Guerry 6132405d05 org-agenda.el: small stylish fix: always use equal. 2011-02-12 14:03:08 +01:00
Bastien Guerry 905d2f7489 Fix small docstring typo. 2011-02-12 14:00:26 +01:00
Bastien Guerry 6d6d24581d Put multiline diary entries on a single line.
* org-agenda.el (org-get-entries-from-diary): Put multiline
diary entries on a single line when lines don't start with a
diary time.

This was requested by Suvayu Ali.
2011-02-12 13:08:14 +01:00
Bastien Guerry e4b762af34 org-agenda.el: fix bug about wrong current span.
Locally kill org-agenda-current-span as a variable, otherwise
the current value of org-agenda-current-span is taken as the
default value when redoing the buffer or calling org-agenda
with a different view.

This might be a temporary fix, as Julien is looking for a
more general solution.  See his message here:

http://article.gmane.org/gmane.emacs.orgmode/37359
2011-02-10 15:30:09 +01:00
Bastien Guerry 7473e3cc78 Revert "Bug: Jumping to a date in the agenda changes view back to 'day' [7.4 (release_7.4.80.g0e5e5)]"
This reverts commit ca7aeada15.
2011-02-09 17:30:20 +01:00
Carsten Dominik ce217d153a Merge branch 'agenda-refresh-clocktable-on-filter-change' 2011-02-09 10:10:04 +01:00
Carsten Dominik 09c5ff8359 Refresh agenda when updating the filter while the clock report is following
* lisp/org-agenda.el (org-agenda-filter-by-tag): Refresh agenda when
updating the filter while the clock report is following the filter.

When the clock table in the agenda has been set up to respect the
current agenda tags filter, modifying the filter will now
automatically rebuild the agenda to make sure that also the clock
report is updated along with it.  Updating the entire agenda is not
strictly necessary - updating the table would be enough.  However,
right now we do not really have a function that will update only the
clock table, as inserting the table is currently part of building the
agenda itself.  Maybe someone can optimize this in the future.

This feature was requested by Sebastien Vauban.
2011-02-09 09:04:04 +01:00
Julien Danjou ca7aeada15 Bug: Jumping to a date in the agenda changes view back to 'day' [7.4 (release_7.4.80.g0e5e5)]
On Sat, Feb 05 2011, Matt Lundin wrote:

> This results in only a day view because org-agenda-current-span is still
> 'day.

Here's a proposal fix.

I could have setq org-agenda-current-span to nil as a work around, but
it seems more logical to just kill all the local variables. That is, a
custom agenda view would not keep any of the local variable of the
previous agenda, which seems logical to me.

>From b48fc7c395dffea60df20c23b26e362ac0354b01 Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Mon, 7 Feb 2011 12:36:42 +0100
Subject: [PATCH] org-agenda: kill local variables in agenda view

* org-agenda.el (org-agenda): Kill all local variables. This
assures we are not keeping buffer variable from an old agenda view
when switching to a new custom agenda.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-02-08 18:05:31 +01:00
Carsten Dominik ca220e9c40 Merge branch 'fix-todo-list-with-extended-today' 2011-02-06 08:14:58 +01:00
Carsten Dominik 73be48bdf9 Fix bug that would show empty todo list on extended todays
* lisp/org-agenda.el (org-agenda-get-day-entries): Compare DATE with
modified today.

When a user sets org-extend-today-until, the agenda TODO list would
come up empty when requested in the extension period between midnight
and org-extend-today-until.  This problem is new, it was caused by a
patch that introduced the function org-today and used it also
in org-todo-list.

The reason why this caused a problem is a bit difficult.  The agenda
need a date to be defined, and getting todo entries is subject to the
current date being today.  This is a leftover condition from the times
when the TODO list was often part of the daily agenda listing, and the
test is there to avoid that the TODO list comes also up when looking
at the agenda for tomorrow.  Much of this is irrelevant now, because
people use either block agendas, or separate views - but the old
functionality is retained for backward compatibility.

This patch fixes the problem by making `org-agenda-get-day-entries'
check for the date computed by `org-today'.
2011-02-04 17:47:03 +01:00
Bastien Guerry a9d2e4240a Merge branch 'refine-org-agenda-repeating-timestamp-show-all' 2011-02-04 10:56:59 +01:00
Bastien Guerry 809b505ef0 Add a new command: org-agenda-bulk-mark-regexp
* org-agenda.el (org-agenda-bulk-mark-regexp): New command.
(org-agenda-menu): Add the new command to the menu.
(org-agenda-mode-map): Add % as the keybinding for the new
command.
2011-02-03 20:03:51 +01:00
Bastien Guerry f121bc5e72 Make org-agenda-repeating-timestamp-show-all aware of TODO keywords.
* org-agenda.el (org-agenda-repeating-timestamp-show-all):
Allow to use a list of TODO keywords as the value of this
variable.  The agenda will show repeating stamps for entries
matching these TODO keywords.
(org-agenda-get-timestamps, org-agenda-get-deadlines)
(org-agenda-get-scheduled): Allow the use of a list of
keywords in `org-agenda-repeating-timestamp-show-all'.

---
This was suggested by Jeff Horn and supported by Detlef Steuer.
2011-02-02 10:35:56 +01:00
Osamu Okano a017fca37f Various docstrings typo fixes by Osamu OKANO. 2011-02-01 13:05:13 +01:00
Julien Danjou bf46c32aad Bug: Jumping to a date in the agenda changes view back to 'day' [7.4 (release_7.4.80.g0e5e5)]
On Mon, Jan 17 2011, Carsten Dominik wrote:

> have you been following this thread?  I think this has to do with your
> rewrite of the dagenda span stuff.  Maybe you can find out better and
> faster that I why this goes wrong?  Please read the entire thread.

I've followed but not sure I understood what the bug is. But from my
various tries, I found a bug: when pressing 'j', the current span is
discarded.

Attached is a patch that should fix that, even for future use of
`org-agenda-list' with the span unspecified. :)

>From 9dd2fe6650b858a4083ebc083bb8d10a0d6ac7f2 Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Mon, 17 Jan 2011 16:05:28 +0100
Subject: [PATCH] Fix agenda span on date jump

* org-agenda.el (org-agenda-list): Use org-agenda-current-span as a
possible default span if it is set.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-02-01 12:52:00 +01:00
Julien Danjou 2d747caeab org-agenda: fix regexp in progress for state logging
* org-agenda.el (org-agenda-get-progress): Fix regexp for statep: it
must has \\ at the end of the line. This avoid matching the following
heading when there's no newline between the logged state and the next
heading.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-01-26 18:24:19 +01:00
Julien Danjou 9658a9909f org-agenda: simplify start/stop/duration time computing
* org-agenda.el (org-format-agenda-item): Simplify time comuting.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-01-26 11:16:27 +01:00
Matt Lundin 156e6b1466 Add new option for ignoring past or future items in the global todo list
* lisp/org-agenda.el: (org-agenda-todo-ignore-deadlines): New option.
(org-agenda-todo-ignore-scheduled): New option.
(org-agenda-todo-ignore-timestamp): New option.
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item): Allow user
to specify custom distance to ignore (future or past).
(org-agenda-todo-custom-ignore-p): New function.

This patch gives users greater control over which past or future items
they would like to ignore in the global todo list. By setting
org-agenda-todo-ignore-scheduled to 7, for instance, a user can ignore
all items scheduled 7 or more days in the future. Similarly, by
setting org-agenda-todo-ignore-scheduled to -1, a user can ignore all
items that are truly in the past (unlike the 'past setting, which
ignores items scheduled today). Thanks to Paul Sexton for the idea for
this new functionality.
2011-01-26 10:59:58 +01:00
Julien Danjou c78bf704ed org-agenda: fix start/end time in timerange
* org-agenda.el (org-agenda-get-blocks): Fix time of start/end
of events with range. This display things like:
<2011-01-22 Sat 14:00>--<2011-01-23 Sun 20:00>
correctly, with the event starting at 14:00 and ending at 20:00.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-01-25 06:47:09 +01:00
Julien Danjou dc55710b60 Add command to reset agenda time span
* org-agenda.el (org-agenda-reset-view): New function.
(org-agenda-view-mode-dispatch): Bind space to org-agenda-reset-view.

Signed-off-by: Julien Danjou <julien@danjou.info>

* doc/org.texi (Agenda commands): Document `v SPC'.

* doc/orgcard.tex: Document v SPC
2011-01-18 11:14:20 +01:00
Julien Danjou f4984b3205 Bug: Jumping to a date in the agenda changes view back to 'day' [7.4 (release_7.4.80.g0e5e5)]
On Mon, Jan 17 2011, Bernt Hansen wrote:
>
> Thanks for this patch.  I think this fixes the issue I was having with
> 'j' in the agenda switching from week-view back to single-day view when
> org-agenda-ndays is set to 1.
>
> There is still a (new?) problem with jumping to today.
>
> Set the following variable
>
> (setq org-agenda-start-on-weekday 6)
>
> | Key Sequence | Notes                                          |
> |--------------+------------------------------------------------|
> | C-c a a      | Display weekly agenda                          |
> | f            | Go forward a week                              |
> | d            | Display day agenda                             |
> | .            | Go to to day - but it goes to Saturday instead |
>
> This should go to today and not the first day of the week.

Attached is a fix for that.

>From f566a5612560f997f4760144ca850dda5c06bc5e Mon Sep 17 00:00:00 2001
From: Julien Danjou <julien@danjou.info>
Date: Mon, 17 Jan 2011 18:09:30 +0100
Subject: [PATCH] Fix org-agenda-goto-today not respecting the current span.

* org-agenda.el (org-agenda-goto-today): Respect current span.

Signed-off-by: Julien Danjou <julien@danjou.info>
2011-01-17 19:27:09 +01:00
Carsten Dominik a2ec41c79a Implement a global skipping condition
* lisp/org-agenda.el (org-agenda-skip-function-global): New option.
(org-agenda-skip-eval): New function.
(org-agenda-skip): Use `org-agenda-skip-eval' and also check for the
global skipping condition.

This was a request by John Wiegley
2011-01-14 11:28:41 +01:00
Bernt Hansen 8dc6733a2a Display invisible entry text at point when visiting a task from the agenda
* lisp/org-agenda.el (org-agenda-goto): Display invisible entry text
* lisp/org-agenda.el (org-agenda-switch-to): Display invisible entry text

Visiting clock lines with RET or TAB in the agenda can put point on a
folded clock drawer.  This means you are editing invisible/hidden text
inside the task entry.  Now when moving to invisible regions show the
entry so point is always visible.
2011-01-03 13:16:43 +01:00
John Wiegley 3922c2cbc1 Fixed the interval for day scattering
It was [0,LIM), now it's [1,LIM]
2010-12-27 03:34:40 -05:00
Carsten Dominik ce157879de Fix typo 2010-12-21 08:26:34 +01:00
Julien Danjou 2be22d9aa4 org-agenda: allow %() in prefix format
* org-agenda.el (org-compile-prefix-format): Allow %() expression.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-20 13:13:13 +01:00
Julien Danjou 2c1925f2a5 Add org-eval
* org-agenda.el (org-eval): New function.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-20 13:12:25 +01:00
Julien Danjou 3b9822f1a9 Fix org-agenda-prefix-format docstring
* org-agenda.el (org-agenda-prefix-format): Add missing `search' item
  in docstring.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-17 18:23:56 +01:00
John Wiegley c61cdced2f Undid one of the scatter-related changes 2010-12-15 23:31:19 -05:00
John Wiegley 48b11c4420 Fixed an improper use of org-today 2010-12-14 02:02:41 -05:00
Carsten Dominik 98015f3748 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-12-13 15:11:14 +01:00
Carsten Dominik fbe3eb4d2a Fix display of current time to show up only today
* lisp/org-agenda.el (org-agenda-add-time-grid-maybe): Show time only
when grid is being made for today.

Patch by Matt Lundin
2010-12-13 10:43:37 +01:00
John Wiegley 3542f0eed9 Scattering tasks first resets them to "today" 2010-12-13 01:20:04 -05:00
Matt Lundin bca4ac9998 Optimize calls to org-is-habit-p
* lisp/org-agenda.el: (org-agenda-get-scheduled) Don't call
  org-is-habit-p until after checking for for
  org-agenda-skip-scheduled-if-done.

Org-agenda-get-scheduled was calling org-is-habit-p on every scheduled
item (including DONE items when org-agenda-skip-scheduled-if-done was
set to t). Tweaking the timing of the test shaves some time off of
agenda construction when org-habit is loaded and
org-agenda-skip-scheduled-if-done is t.

Before:  org-is-habit-p  478         0.2434439999  0.0005092970
After:   org-is-habit-p	 81          0.057944      0.0007153580
2010-12-12 22:26:23 +01:00
Carsten Dominik 1495bc6b08 Add current time to time grid in agenda
* lisp/org-faces.el (org-agenda-current-time): New face.
* lisp/org-agenda.el (org-agenda-show-current-time-in-grid):
(org-agenda-current-time-string): New options.
(org-agenda-add-time-grid-maybe): Add current time to time grid.
2010-12-12 09:26:01 +01:00
Łukasz Stelmach ad006dea13 sexp can set its face (was: Including current time in agenda)
suvayu ali <fatkasuvayu+linux@gmail.com> writes:

> I actually tried to set the text properties for the string instead,
> but looks like org-agenda is ignoring that.
>
> (defun jd:org-current-time ()
>   "Return current-time if date is today."
>   (when (equal date (calendar-current-date))
>     (propertize (format-time-string "%H:%M Current time") 'font-lock-face
> 		'(:weight bold :foreground "DodgerBlue4" :background "snow"))))

To accomplish this you'd have to apply the following patch and use 'face
property rather than font-lock-face.

Why can't a sexp choose its 'face after all?

--8<---------------cut here---------------start------------->8---
--8<---------------cut here---------------end--------------->8---
2010-12-12 08:38:38 +01:00
Carsten Dominik 7666ba421f Version number back to 7.4 2010-12-10 18:49:40 +01:00
Carsten Dominik 76a25715c9 Bump version number to 7.5 2010-12-10 18:43:10 +01:00
John Wiegley 4d575c8a03 C-u B S now scatters tasks across weekdays only 2010-12-06 00:22:55 -05:00
John Wiegley 384e4f08e4 Added a bulk "scattering" command
B S will cause tasks to be rescheduled a random number of days into the
future, with 7 as the default.  This is useful if you've got a ton of
tasks scheduled for today, you realize you'll never deal with them all,
and you just want them to be distributed across the next N days.
2010-12-03 17:52:46 -05:00
John Wiegley beedff9a49 `org-agenda-bulk-mark' now accepts a numerical prefix arg 2010-12-03 17:52:46 -05:00
Carsten Dominik e10e6197e7 Fix forgotten function renaming
* lisp/org-agenda.el (org-agenda-list):
(org-agenda-goto-today): Use `org-today'.
2010-12-03 23:37:55 +01:00
Carsten Dominik 316e7e5fbc Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode
Conflicts:
	lisp/org-agenda.el
2010-12-03 22:03:06 +01:00
Julien Danjou 0d0edd6d21 org-agenda: rework ndays and span handling
* org-agenda.el (org-agenda-custom-commands-local-options):
Allow org-agenda-span to be a symbol.
(org-agenda-ndays): Make obsolete.
(org-agenda-span): New variable superseding org-agenda-ndays.
(org-agenda-menu): Use org-agenda-current-span.
(org-agenda-current-span): New local variable storing current
span.
(org-agenda-list): Take a span instead of ndays as argument.
This function is now responsible for computing the ndays based
on span.
(org-agenda-ndays-to-span): Return span only if number of days
really matches.
(org-agenda-span-to-ndays): New function.
(org-agenda-manipulate-query): Use org-agenda-compute-starting-span.
(org-agenda-goto-today): Use org-agenda-compute-starting-span.
(org-agenda-later): Do not give compute a new span, use the
current one.
(org-agenda-day-view, org-agenda-week-view)
(org-agenda-month-view, org-agenda-year-view): Stop touching
org-agenda-ndays.
(org-agenda-change-time-span): Only compute starting-span.
(org-agenda-compute-starting-span): New function derived from
the old org-agenda-compute-time-span.
(org-agenda-set-mode-name): Compute mode based on
org-agenda-current-span.
(org-agenda-span-name): New function.

* org-mouse.el: Replace Replace org-agenda-ndays by
org-agenda-current-span.

* org.texi, orgguide.texi: Replace org-agenda-ndays by
org-agenda-span. Add a paragraph about org-agenda-span and say that
org-agenda-ndays is now deprecated.

This patch is pretty huge, so I'll give a bit of context about it.

I'm weird, but I used org-agenda-ndays set to 14. Unfortunately, this
settings was interpreted as a month view. Pressing 'f' key to see later,
would show me the next month, which was not at all what I wanted.

On the same idea, day view or week view would change my org-agenda-ndays
settings, which I think is not a good idea. Changing user setting is *bad*.
:-)

So I rewrote the things this way:
- Rename org-agenda-span to org-agenda-current-span
 Which has the same meaning has before, except it can be numeric.
- Rename org-agenda-ndays to org-agenda-span
 I think the name is better choosen. You can set it to a symbol instead of
 only a numeric value. That means you can set it to 'month and it will show
 you the number of days of the current month in your agenda. Better than
 30. But you can still set it to 30, or 31, or whatever you want.
- Do not change org-agenda-span. Never.
- Use org-agenda-current-span for navigation.
 That means if you press 'f', it will shows you really the next
 org-agenda-current-span ndays, and not something based on "I think you
 want a weekly view".
2010-12-03 13:07:31 +01:00
Robert Pluim c3b2977de6 Fix a docstring
* lisp/org-agenda.el (org-agenda-toggle-deadlines): Fix docstring.

TINYCHANGE
2010-12-03 11:45:03 +01:00
Matt Lundin 2ac751a6cb org-agenda: Fix category string for agenda
* lisp/org-agenda.el: (org-format-agenda-item) The value of
org-category is not converted to a string unless it is defined.

This fixes commit 3061c7083d, which
resulted in org-format-agenda-item always returning the symbol-name for
org-category even if it was not defined. I.e., in some instances,
org-format-agenda-item returned the string "nil", thus bypassing the
buffer-file-name method of deriving the category.
2010-12-03 09:13:11 +01:00
Julien Danjou 2e08843369 Rename org-agenda-today to org-today.
Signed-off-by: Julien Danjou <julien@danjou.info>
2010-12-01 00:48:28 +01:00
Julien Danjou 9de7ad3593 Add org-agenda-todo-ignore-timestamp
* lisp/org-agenda.el: Add org-agenda-todo-ignore-timestamp.
(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item):
Honor org-agenda-todo-ignore-timestamp.
* doc/org.texi: Mention org-agenda-todo-ignore-timestamp.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-11-29 10:25:22 +01:00
Julien Danjou 3061c7083d org-agenda: convert category to string
* org-agenda.el (org-format-agenda-item): Convert category to a string
if it is a symbol. This fixes the following call to
org-agenda-get-category-icon which fails if category is not a string.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-11-29 10:23:31 +01:00
Carsten Dominik b6f43d7c20 Minor fix 2010-11-26 19:08:13 +01:00
David Maus 803f6b0ceb Remove duplicate defcustom, introduced by 95bb1666 2010-11-22 21:32:22 +01:00
Achim Gratz 95bb16661b Fix byte compiler warnings
* org-macs.el (org-called-interactively-p): Wrap function call in
	with-no-warnings.
	(with-silent-modifications) Declare macro for Emacs < 23.2.

TINYCHANGE
2010-11-22 21:22:27 +01:00
Carsten Dominik 04f71ffc55 Keep byte compiler happy 2010-11-19 20:14:37 +01:00
Carsten Dominik 5226c561b3 Use lower case for AM/PM 2010-11-12 16:59:39 -06:00
Christopher Allan Webber 21bf04dfa5 Allow ap/pm times in agenda time grid
* lisp/org-agenda.el (org-agenda-timegrid-use-ampm): New option.
(org-agenda-time-of-day-to-ampm): New function.
(org-agenda-time-of-day-to-ampm-maybe): New function.
(org-format-agenda-item): Call org-agenda-time-of-day-to-ampm-maybe.

Patch by Christoph Allen Webber
2010-11-12 16:57:26 -06:00
Julien Danjou 550859ed5a Introduce special face for TODAY in agenda
* lisp/org-agenda.el (org-agenda-today): New function.
(org-agenda-get-day-face): New function.
(org-timeline): Use org-agenda-today and org-agenda-get-day-face.
(org-agenda-list): Use org-agenda-today and org-agenda-get-day-face.
(org-todo-list): Use org-agenda-today.
(org-get-all-dates): Use org-agenda-today.
(org-agenda-day-face-function): New variable.
(org-agenda-get-day-face): Use org-agenda-day-face-function.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-11-12 09:42:04 -06:00
Bastien Guerry 6630edbd0f Set version number to 7.3 2010-11-07 14:52:14 +01:00
Julien Danjou 498bcc0031 org-agenda: fix org-agenda-category-icon-alist defcustom type
* list/org-agenda.el (org-agenda-category-icon-alist): Fix defcustom
  type.

Signed-off-by: Julien Danjou <julien@danjou.info>
2010-11-05 16:50:06 +01:00
Julien Danjou aaffdb4732 org-agenda: add support for category icons
Signed-off-by: Julien Danjou <julien@danjou.info>

* doc/org.texi (Categories): Document category icons.
* lisp/org-agenda.el (org-agenda-prefix-format): Insert place holder for icon.
(org-agenda-category-icon-alist): New option.
(org-agenda-get-category-icon): New function.
(org-format-agenda-item): Support for icons.
(org-compile-prefix-format): Support for icons.
2010-11-04 13:01:37 +01:00
Carsten Dominik 350b75be63 Rewrite of the clock table code
* lisp/org.el (org-shorten-string): New function.
* lisp/org-exp.el (org-export-convert-protected-spaces): New function.
(org-export-preprocess-string): Call
`org-export-convert-protected-spaces' to handle new hard spaces.

* lisp/org-clock.el (org-clocktable): New customization group.
(org-clocktable-defaults): New option.
(org-clock-clocktable-formatter): New option.
(org-clock-clocktable-default-properties): New option.
(org-dblock-write:clocktable): Rewrite to split out functionality
into separate functions.
(org-clocktable-write-default):
(org-clocktable-indent-string):
(org-clock-get-table-data): New functions.
* lisp/org-agenda.el (org-agenda-list):
(org-agenda-redo):
(org-agenda-clockreport-mode):
(org-agenda-set-mode-name): Rewrite to implement filtered clock tables.
* doc/org.texi (Clocking commands):
(The clock table): New sections.
(Agenda commands): Document filtered clock reports.
2010-11-02 08:47:23 +01:00
Carsten Dominik 82af72eef7 Push version number to 7.02trans 2010-10-29 09:11:46 +02:00
Łukasz Stelmach 47107b6612 Sexp diary entries may retrurn a list
* lisp/org-agenda.el (org-agenda-get-sexps): Handle lists as return values
from diary entries
* lisp/org-bbdb.el (org-bbdb-anniversaries): Handle lists of anniversaries
* lisp/org.el (org-diary-sexp-entry): Handle lists as return values
from diary entries.

 ukasz Stelmach <lukasz.stelmach@iem.pw.edu.pl> writes:

> I've disovered, that %%(org-bbdb-anniversaries) returns (as every other
> sexp) a string. Which is OK if there is only one.
>
>   Anniversaries:  John Doe's 10th wedding anniversary
>
> Unfortunately the agenda view becomes awful if we have noted Jane's
> weeding date too
>
>   Anniversaries:  John Doe's 10th wedding anniversary; Jane Doe's 10th wedding anniversary
>
> And what if we know 3 Eves and 5 Adams and it's Christmas Eve? (Hint:
> their name day)
[...]

As Thomas Bauman pointed out, there are functions that can be used in
sexps which return cons cells like this

    (nil . "Full Moon 3:35am (CEST)")

(this one is diary-lunar-phases), these aren't properly supported by the
previous version of my patch. This one can distinguish between such a
cons cell and a "real" list.

    ("John Doe's 10th wedding anniversary"
     "Jane Doe's 10th wedding anniversary")

This is because

    (consp (cdr '(a . b))) ; => nil

so org-diary-sexp-entry can be made return (cdr result) only in case of
the former cons cell. The third condition in the `cond' block is IMHO
enough as it is now, but if you think adding

    (listp (cdr result))

may help then be it.
2010-10-26 07:27:19 +02:00
Carsten Dominik c9bb51e883 Make it configurable wether agenda jumping prefers the future
* lisp/org.el (org-agenda-jump-prefer-future): New option.
* lisp/org-agenda.el (org-agenda-goto-date): Use
`org-agenda-jump-prefer-future'.
2010-10-17 08:32:23 +02:00
Sébastien Vauban 464bf73b74 Pad clock times with zeros, apply face with better starting position
* lisp/org-agenda.el (org-agenda-add-time-grid-maybe): Pad clock times
with zeros.  Start applying face earlier.

Hello,

Here a tiny patch to:

- have padding with 0 for the clock time

- begin applying face org-time-grid from position 2, in order to be properly
  aligned with the rest of the agenda (you don't see that if you don't have a
  face with background color)
2010-10-04 09:46:08 +02:00
Carsten Dominik 9ec705cb57 Allow escaped spaces in agenda search view
* lisp/org-agenda.el (org-search-view): Recover spaces in search words
if they were escaped with \ or inside a regexp.
2010-09-23 08:51:19 +02:00
Carsten Dominik 03b178d120 Do not prefer future when jumping to a date in the agenda
* lisp/org-agenda.el (org-agenda-goto-date): Turn off prefer future
for this command.
2010-09-21 12:56:02 +02:00
Carsten Dominik 44977a9efe Fix cursor position after applying filter
* lisp/org-agenda.el (org-agenda-filter-apply): Move cursor to a visible line.
2010-09-20 20:23:03 +02:00
Carsten Dominik a1dc916be6 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-09-16 17:20:02 +02:00
Matt Lundin 8631f55d71 Fix bug that erases org buffer when calling agenda via org-agenda-open-link.
[My apologies, but I'm afraid my first attempt at this patch mistook a
necessary second check for redundancy. Here is an improved version.]

* lisp/org-agenda.el (org-prepare-agenda): If the agenda is called
  from within the agenda via an elisp link, such as
  [[elisp:(org-agenda-list)]], org-prepare-agenda erases the buffer of
  the file containing the link, since that buffer is current during
  org-prepare agenda (due to a with-current-buffer in
  org-agenda-open-link). An additional test now ensures that the
  agenda buffer is in fact current when the buffer is erased and local
  variables for the agenda are set.
2010-09-16 17:07:43 +02:00
Achim Gratz c4644b9e00 silence byte compiler warnings about european-calendar-style
I've investigated further and defvaralias doesn't silence the warnings,
but "with-no-warnings" does.
2010-09-14 09:29:59 +02:00
Bastien Guerry 3ec4750271 Third fix for the time-grid problem.
Hopefully the last one.  See commit 7b188f7d.
Reported by Memnon Anon <gegendosenfleisch@googlemail.com>.
2010-09-05 21:09:50 +02:00
Bastien Guerry 538cf4e07c Fix docstring. 2010-09-03 02:43:22 +02:00
Bastien Guerry 7b188f7da5 Second fix for the time-grid problem. 2010-09-02 17:48:24 +02:00
Bastien Guerry fbf89f0ecc org-agenda.el: Fixed a problem when computing time-grid.
Memnon Anon reported that this setting yields a bug:

,----
| (setq org-agenda-time-grid (quote
|       ((daily weekly today require-timed) "----------------"
|       ( 000 200 400 600 800 1000 1200 1400 1600 1800 2000 2200 2359))))
`----
2010-09-02 15:21:30 +02:00
Manish Sharma 2cf6136523 Allow "#" and "%" in tags
Patch largely from Manish, missing points added by Carsten
2010-08-31 08:25:20 +02:00
Carsten Dominik a7660225af Fix code typo 2010-08-21 08:37:11 +02:00
Carsten Dominik 96bacc020b Fix adding context lines in agenda
* lisp/org-agenda.el (org-agenda-add-entry-text): Make sure we move
forward even if there is no text to be added.

Adding entry text with org-agenda-add-entry-text-maxlines greater than
0 could result in an infinite loop.
2010-08-21 07:09:20 +02:00
Carsten Dominik 6f61135c84 New macro
* lisp/org-agenda.el (org-agenda-with-point-at-orig-entry): New macro.
2010-08-20 08:32:31 +02:00
David Maus 6d9fcf8ff4 Delete postscript file after creating conversion to pdf
* org-agenda.el (org-write-agenda): Delete postscript file after
creating conversion to pdf.
2010-08-19 21:54:12 +02:00
David Maus 768d88acc3 Move require statements to proper place in evaluated lisp expression
* org-agenda.el (org-write-agenda): Move require statements to proper
place in evaluated lisp expression.
2010-08-19 21:52:18 +02:00
David Maus cc5b21e2cb Rename temporary buffer to remove dependency of `flet' macro
* org-agenda.el (org-write-agenda): Rename temporary buffer to remove
dependency of `flet' macro.
2010-08-19 21:37:19 +02:00
Bastien Guerry 7cc0612e62 org-agenda-clock-out: remove unnecessary "P" in (interactive). 2010-08-17 18:47:57 +02:00
David Maus 1ab9b17ee8 Delete excluded lines directly after call to sorting filter function.
* org-agenda.el (org-finalize-agenda-entries): Delete excluded lines
directly after call to sorting filter function.
2010-08-16 21:06:12 +02:00
Bastien Guerry 244681c44f org-agenda-clock-out: remove unused optional argument "arg". 2010-08-16 20:46:38 +02:00
Carsten Dominik ac8e3fb8d1 New hook to add more properties to new agenda items, or to filter
* lisp/org-agenda.el (org-agenda-before-sorting-filter-function): New hook
function.
(org-finalize-agenda-entries): Apply
`org-agenda-before-sorting-filter-function'.
2010-08-16 15:39:29 +02:00
Carsten Dominik 2b28ba8800 Fix typo 2010-08-15 07:50:29 +02:00
Bastien Guerry d17cc96fc7 Remove a compiler warning.
Added (defvar org-clock-current-task) to org-agenda.el.
2010-08-13 10:48:40 +02:00
Bastien Guerry 0f33e18983 org-agenda-clock-goto: complete the docstring. 2010-08-12 10:27:05 +02:00
Bastien Guerry a7a842457d Rebind org-agenda-clock-goto to `J' in the agenda.
* org-agenda.el (org-agenda-clock-goto): Use `\C-c\C-x\C-j' for
`org-clock-goto' and `J' for `org-agenda-clock-goto'.  If the heading
currently clocked in is not listed in the agenda, display this entry
in another buffer.  If there is no running clock, display a help
message.

* org-clock.el (org-clock-set-current): append the filename after the
heading.
2010-08-11 16:10:14 +02:00
Carsten Dominik 6a5d28bce7 Fix typo. 2010-08-11 09:45:36 +02:00
Carsten Dominik d34a5a2613 Agenda: Allow compact two-column display in agenda dispatcher
* lisp/org-agenda.el (org-agenda-menu-show-match): New option.
(org-agenda-menu-two-column): New option.
(org-agenda-get-restriction-and-command): Implement dispatch menu
without showing the matcher, and with two-column display.
2010-08-11 09:42:39 +02:00
Carsten Dominik dff92f433e Fix indentation 2010-08-08 08:43:07 +02:00
Carsten Dominik 26714634a9 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-08-07 08:23:56 +02:00
Carsten Dominik 5188f71ee8 Timeline: Allow the buffer to be an indirect one
* lisp/org-agenda.el (org-timeline): Allow indirect buffer.
2010-08-07 08:23:33 +02:00
Bastien Guerry 5b85810f4d New command: `org-agenda-clock-goto' (C-c C-x C-j)
This command jumps to the headline of the clocking task within the
agenda buffer.  `org-agenda-clock-goto' is bound to `C-c C-x C-j'.

It is different from `org-clock-goto', which jumps to the currently
clocking entry itself (bound to `J').
2010-08-06 19:28:08 +02:00
John Wiegley d91ce1490d Merge branch 't/patch157' 2010-07-28 02:26:57 -04:00
Jambunathan K 86ca53fe6f Agenda view invokes custom sort routine even if not configured to do so 2010-07-28 02:25:09 -04:00
Carsten Dominik 22567f5ea0 Agenda: Document the limitation of the filter preset
* lisp/org-agenda.el (org-agenda-filter-preset): Document the limitation
for the filter preset - it can only be used for an entire agenda view,
not in an individual block in a block agenda.
* doc/org.texi (Agenda commands):  Document the limitation
for the filter preset - it can only be used for an entire agenda view,
not in an individual block in a block agenda.
2010-07-22 09:11:12 +02:00
Carsten Dominik 6268cceec3 Mention release 7.01 on the website, push release number to 7.01trans 2010-07-19 08:33:24 +02:00
Carsten Dominik 9c4f5725b4 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/org-mode 2010-07-16 14:15:47 +02:00
John Wiegley 332113111c Changed two uses of setq to let, to fix compiler warnings 2010-07-16 02:50:24 -04:00
Julien Barnier 728092e083 Add the ability to remove time ranges specifications 2010-07-16 02:46:02 -04:00
Philip Rooke 254740cb9c Correct some docstrings
This patch makes some straightforward corrections to a number of
docstrings.  Each change is normally to:

- correct a typo, or
- fix up hyperlinks to function or variable names, or
- ensure slightly better conformance with the documentation guidelines
  and tips given in the Elisp manual

No attempt is made to provide missing docstrings or document arguments.

Cheers,

Phil
2010-07-15 19:04:38 +02:00
Matt Lundin c45d0680af Fix inclusion of agenda-archives in search view
* org-agenda.el (org-search-view): Fixed inclusion of agenda-archives
in org-agenda-text-search-extra-files.

org-search-view lacked a local binding for
org-agenda-text-search-extra-files. Thus when pop was called on the
variable, the agenda-archives symbol was removed and subsequent
searches failed to include the archives.
2010-07-15 07:23:28 +02:00
Dirk-Jan C. Binnema 18161d0310 Add capture to agenda actions
* lisp/org-agenda.el (org-agenda-action): Document capture key and add it
to the prompt.

TINYCHANGE

A trivial patch to add some documentation for 'capture' to org-agenda (against
HEAD).
2010-07-12 07:56:26 +02:00
David Maus 4273e50ab7 Don't create marker if target is entire file.
* org-agenda.el (org-agenda-bulk-action): Don't create marker for
position if target is entire file.

If the target of a bulk refile operation is the entire file,
`org-refile-get-location' returns nil for the refile position.
Creating a marker for the target file's buffer at position nil returns
a marker that points nowhere (Cf. GNU Emacs Lisp Reference Manual,
31.6).  `org-refile' adds headings to level 1 if the target position
for the target file is nil -- and hence a marker that points nowhere
is not nil, tries to jump to nowhere.
2010-07-06 08:55:02 +02:00
Carsten Dominik c74ecf4387 Fix display problem of clocked time in agenda
* lisp/org-agenda.el (org-agenda-get-progress): Avoid reusing previous
value of EXTRA.

Sebastien Vauban writes:

> Finally reporting the following bug. Has been there for as long as I can
> remember, but never did report it when seeing it. And kept forgetting.
>
> So, now...
>
> --8<---------------cut here---------------start------------->8---
> * 2010
>
> ** 2010-06 June
>
> *** Admin
>
> **** Organization
>     :LOGBOOK:
>     CLOCK: [2010-06-30 Wed 13:30]--[2010-06-30 Wed 17:50] =>  4:20
>     - DUPLICATED TeXt.
>     :END:
>
> **** Emails and News
>     :LOGBOOK:
>     CLOCK: [2010-06-28 Mon 09:10]--[2010-06-28 Mon 10:40] =>  1:30
>     CLOCK: [2010-06-30 Wed 10:30]--[2010-06-30 Wed 12:30] =>  2:00
>     :END:
>
> *** ABC
>    :LOGBOOK:
>    CLOCK: [2010-06-30 Wed 09:30]--[2010-06-30 Wed 10:30] =>  1:00
>    - Transfer of files to ABC.
>    :END:
> --8<---------------cut here---------------end--------------->8---
>
> generates the following timeline:
>
> --8<---------------cut here---------------start------------->8---
> Timeline of file /home/sva/Projects/ecm.org
>
> 2010-06-28 Mon _________________________________
>  Clocked:   (1:30) Emails and News
>
> 2010-06-29 Tue _________________________________
>
> 2010-06-30 Wed _________________________________
>  Clocked:   (1:00) ABC - Transfer of files to ABC.
>  Clocked:   (2:00) Emails and News - DUPLICATED TeXt.
>  Clocked:   (4:20) Organization - DUPLICATED TeXt.
> --8<---------------cut here---------------end--------------->8---
>
> As you can see, the fact that I never put a descriptive text for "reading
> emails" is wrongly reported: previous text is used in the timeline, instead.
2010-07-01 14:02:58 +02:00
David Maus 5a3766e0a1 Use backquotes to make byte compiler expand `flet' macro.
* org-agenda.el (org-write-agenda): Use backquotes to expand
`flet' at compile time.
2010-06-28 06:28:02 +02:00
Carsten Dominik 08f8875ecd Catch agenda error when there is a tie stamp before the first headline
* lisp/org-agenda.el (org-agenda-get-timestamps): No errors
while getting TODO state.
(org-agenda-highlight-todo): No error when no keyword has
been matched.

Eric Arneson writes:

> I've discovered a bug in `org-agenda-get-timestamps' wherein an active
> timestamp before the first headline causes it to fail.  I realize that
> this is probably an error in my use of active timestamps, but there was
> no really handy error message and this bugged me for weeks.
>
> I'm not familiar enough with org-mode to know what the correct behavior
> should be here (it'd be nice to get an error message saying "Don't use
> active timestamps that way!"), but here's an example .org file that will
> trigger the bug:
>
> --8<---------------cut here---------------start------------->8---
> #+BEGIN: clocktable :maxlevel 3 :scope today
> Clock summary at [2010-06-20 Sun 13:09]
>
> | L | Headline                              | Time   |
> |---+---------------------------------------+--------|
> |   | *Total time*                          | *0:13* |
> |---+---------------------------------------+--------|
> | 1 | Track down funky bug <2010-06-20 Sun> | 0:13   |
> #+END:
>
> * Track down funky bug <2010-06-20 Sun>
>  :LOGBOOK:
>  CLOCK: [2010-06-20 Sun 12:43]
>  CLOCK: [2010-06-20 Sun 12:30]--[2010-06-20 Sun 12:43] =>  0:13
>  :END:
> --8<---------------cut here---------------end--------------->8---
>
> I hope this can help somebody else track down the right place to fix
> this bug.
2010-06-24 08:53:34 +02:00
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
Carsten Dominik b8a6721a68 Release 6.33a 2009-11-13 23:22:18 +01:00
Carsten Dominik 5ca6635993 Push version number to 6.33a 2009-11-13 22:54:22 +01:00
Carsten Dominik 63fb485e24 Implement showing the outline path in the echo area while in the agenda 2009-11-13 22:50:45 +01:00
Carsten Dominik 82ee0cc583 Release 6.33 2009-11-13 07:10:51 +01:00
Bernt Hansen 4381fea055 Rename variable due to typo 2009-11-12 07:39:44 -05:00
Bernt Hansen 0042080e4c Fix spelling and grammar 2009-11-12 07:39:29 -05:00
Bernt Hansen 7cd1f56c2a Typo 2009-11-11 10:23:48 -05:00
Carsten Dominik 3ebaffe07e Make diary entry visible so that editing can take place 2009-11-10 21:24:42 +01:00
Carsten Dominik 1bbd63a0e0 Emacs 22 compatibility for calendar-date-style 2009-11-10 21:11:24 +01:00
Carsten Dominik e8fbed7bc1 Better error message when creating block diary entry but no mark exists 2009-11-10 10:44:25 +01:00
Carsten Dominik 1d6570928a Fix bug with diary-display-date-form 2009-11-09 22:44:18 +01:00
Carsten Dominik cba8527897 Date tree ca be filed under entry. And reveal after jump. 2009-11-09 15:30:50 +01:00
Carsten Dominik 453f8ef626 Make `i' key in agenda and calendar add new entries to an org file 2009-11-09 15:28:59 +01:00
Carsten Dominik 272263a48e Get rid of org-agenda-keymap 2009-11-06 16:54:26 +01:00
Carsten Dominik d3db42d3a6 Keep byte compiler happy 2009-11-05 19:53:14 +01:00
Carsten Dominik f90f96bc29 Cater for new tag group description in several places
Patch by Stephan Schmitt.
2009-11-05 16:08:55 +01:00
Carsten Dominik ba1e90893d Agenda: Make `C-c C-o' and RET opening links in clocktables in the agenda
RET will only do this if the cursor is on the link and
`org-return-follows-link' is set.  `C-c C-o' will work anywhere in the
line.

Requested by Chris Leyon.
2009-11-02 08:23:30 +01:00
Carsten Dominik 5cdc5e3246 Reorganize key bindings for archiving
The following keys now do archiving

C-c C-x C-a    archive using the command specified in
               `org-archive-default-command'

This variable is by default set to `org-archive-subtree', which means
arching to the archive file.

The three specific archiving commands are available through

C-c C-x C-s    archive to archive file
C-c C-x a      toggle the archive tag
C-c C-x A      move to archive sibling

These bindings work the same in an Org file, and in the agenda.

In addition:

- In the agenda you can also use `a' to call the default archiving
  command, but you need to confirm the command with `y' so that this
  cannot easily happen by accident.

- For backward compatibility, `C-c $' in an org-mode file, and `$' in
  the agenda buffer continue to archive to archive file.
2009-10-31 10:03:11 +01:00
Carsten Dominik ca3d96d98d Evaluate the MATCH parameter in org-agenda-custom-commands 2009-10-30 08:16:00 +01:00
Carsten Dominik 58562167b4 Version number to 6.32trans 2009-10-27 18:23:19 +01:00
Carsten Dominik e0949896f7 Release 6.32b 2009-10-27 18:22:28 +01:00
Carsten Dominik 037b685d50 Push version number to 6.32trans 2009-10-27 09:25:30 +01:00
Carsten Dominik fcd2ef541f Release 6.32 2009-10-26 08:57:21 +01:00
Carsten Dominik 2fa2cbaa2c Keep compiler happy and fix issue with musing the mobile agenda
Richard Moreland writes:

> (setq org-agenda-custom-commands
>      '(("X" agenda "" nil ("agenda.html"))))
> ;; This seems to break org-mobile-push?
> ;;(setq org-agenda-exporter-settings
> ;;      '((org-agenda-add-entry-text-maxlines 5)
> ;;       (htmlize-output-type 'font)))
>
> I have the lines above in my .emacs file.  When I uncomment the 3
> commented lines, org-mobile-push just hangs after OVERVIEW.
>
> I don't understand exactly what is going on, but if I hit C-g or
> C-c enough I can regain control, but the sync never finishes.
2009-10-26 07:59:53 +01:00
Carsten Dominik fa415443d9 Keep compiler happy 2009-10-23 10:13:37 +02:00
Carsten Dominik 533997a519 Fix key definition bug 2009-10-21 16:55:09 +02:00
John Wiegley 09b1564bb4 Added custom priorities to the habit code
org-habit.el (org-habit-get-priority): A new function that determines
the relative priority of a habit, based on how long past its scheduled
date it is, and how near the deadline is.

org-agenda.el (org-agenda-get-scheduled): Set habit priority using
`org-habit-get-priority'.
2009-10-20 17:19:01 -04:00
John Wiegley f93ace5368 Use the new syntax .+1d/3d for habit repeaters 2009-10-20 17:19:00 -04:00
John Wiegley d6a2768b48 Show "Habit" in modeline when habits are displayed 2009-10-20 17:19:00 -04:00
Carsten Dominik 3784cb18f6 Make space and backspace scroll he show window in the agenda
Requested by Eric Fraga.
2009-10-20 19:56:11 +02:00
Carsten Dominik 79031ab5ab Keep compiler happy 2009-10-20 13:24:55 +02:00
John Wiegley 063cb58fab Added support for habit consistency tracking
org-habit.el: New file, which implements code to build a "habit
consistency graph".

org-agenda.el (org-agenda-get-deadlines)
(org-agenda-get-scheduled): Display consistency graphs when outputting
habits into the agenda.  The graphs are always relative to the current
time.

(org-format-agenda-item): Added new parameter `habitp', which indicates
whether we are formatting a habit or not.  Do not display "extra"
leading information if habitp is true.
2009-10-20 01:17:54 -04:00
John Wiegley 85878aadbf Added context-aware, tag auto-exclusion (/ RET)
(org-agenda-auto-exclude-function): New customization variable for
allowing the user to create an "auto exclusion" filter for doing
context-aware auto tag filtering.

(org-agenda-filter-by-tag): Changes to support the use of
`org-agenda-auto-exclude-function'.  See the new manual addition,.
2009-10-18 23:43:44 -04:00
John Wiegley 4e184a530e Fixed a typo in an error message 2009-10-18 23:43:25 -04:00
Carsten Dominik a752a22e25 Fix customization type for `org-agenda-sorting-strategy'
Patch by Mikael Fornius.
2009-10-17 17:43:48 +02:00
Carsten Dominik c0c56217ff Fix all todo line bug in org-mobile.el 2009-10-16 17:07:38 +02:00
Carsten Dominik 4fe057f4aa Search view: Search for substrings rather than boolen workd lists
The default in search view is not that the search expression is
searched for as a substring, i.e. the different words must occur in
direct sequence.  The old way is only used it the first word in
the search string is preceded by a plus or a minus.

This was, more-or-less, requested by John Wiegley.
2009-10-14 13:36:36 +02:00
Carsten Dominik 33c75c6e29 Agenda filtering: Make `- SPC' a filter that selects entries without tags
Request by John Wiegley.
2009-10-14 12:45:04 +02:00
Carsten Dominik 7d327d48c4 Skip encoding step when writing out the batch agenda 2009-10-12 14:52:47 +02:00
Carsten Dominik 06bcedfd15 Fix bug in mobile interaction 2009-10-11 18:09:55 +02:00
Carsten Dominik 4a49e40daf Rewrite of org-mobile.org, for MobileOrg build 18 2009-10-10 23:01:33 +02:00
Carsten Dominik 21a8656af6 Fix bug with agenda category 2009-10-07 10:32:58 +02:00
Carsten Dominik f042ee7ce5 Allow limited length prefix format specifier %n.mc 2009-10-06 12:02:30 +02:00
Carsten Dominik 8d2cbde0c9 Fix typos 2009-10-02 08:30:18 +02:00
Carsten Dominik 6b0a251eea Push version number to 6.31trans 2009-10-01 11:57:17 +02:00
Carsten Dominik 1b37d5e07c Release 6.31a 2009-10-01 09:13:58 +02:00
Carsten Dominik 15ab976299 Remove unneeded function declarations 2009-10-01 08:59:06 +02:00
Carsten Dominik c11e0b44ae Release 6.31 2009-09-30 16:03:17 +02:00
Carsten Dominik 003e6c37c0 Fix minor typo 2009-09-29 05:08:15 +02:00
Carsten Dominik 0a0a9e5366 Agenda: Fix bug when changing lines with invisible text in prefix
Peter Westlake writes:

> One small thing, though - in the agenda TODO view, pressing "t"
> to mark the task as Done messes up the layout:
>
>  [[http://orgmode.org][Org-Mode]]:   TODO Demonstrate problem with link
>  in category
>
> (which appears as:
>
>  Org-Mode:   TODO Demonstrate problem with link in category)
>
>
> Press T on that line:
>
>  [[http://orgmode.org][Org-Mode]]: TODO Demonstrate problemDONE
>  Demonstrate problem with link in category
>
> (which appears as:
>
>  Org-Mode: TODO Demonstrate problemDONE Demonstrate problem with
>  link in category)
2009-09-28 20:30:16 +01:00
Carsten Dominik 3ca813aff8 Remove cursor position restriction in the agenda
The cursor may now also be at the end of the line.
2009-09-26 08:23:15 +01:00
Carsten Dominik 38f82c430b Remove final dot from a number of error messages
Downstream Emacs patch.
2009-09-24 09:09:33 +01:00
Carsten Dominik 9d322790d4 Fix bug with dedicated agenda window
George Pearson writes:

> I have been getting the following message in the minibuffer
> area when marking tasks done in the daily agenda:
>
> Error in post-command-hook: (error Cannot switch buffers in a dedicated
> window)
>
> The item in the underlying org file IS marked DONE, and items with
> repeaters appear to be rescheduled properly.  HOWEVER, the log lines,
> like
>
>    - State "DONE"       from "TODO"       [2009-09-07 Mon 10:36]
>
> do NOT appear.
>
> Note I have been using:
>
> org-agenda-window-setup 'other-frame
>
> for some time now, but I notice there has been a recent change
> related to this variable.  Could this be the source of the
> problem?
>
> I believe the error message appears on other operations in the
> daily agenda as well, but have not yet studied this in detail.

Many agenda commands split the current window, which is not allowed on
a frame containing a dedicated window.

Therefore, we now just kill the frame by hand when exiting the agenda.
2009-09-22 12:11:29 +01:00
Carsten Dominik 9a6bda6694 Minor fix 2009-09-21 17:56:42 +01:00
Carsten Dominik 9cccb68eb8 Mark time stamp change with ">" command in agenda 2009-09-21 17:55:48 +01:00
Carsten Dominik 32b1aebb37 Add drawer and keyword lists to index file for MobileOrg
MobileOrg needs to know the possible TODO keywords and DRAWERS that
can appear in Org files it receives.
2009-09-19 10:46:05 +01:00
Carsten Dominik e3cdd782f8 Fix text property problem in char after TODO in agenda
This character did not have text properties and therefore many
commands did not work at that position.

Reported by Bernt Hansen.
2009-09-18 22:03:08 +01:00
Carsten Dominik 417736a3d4 Fix key binding errors 2009-09-17 13:33:44 +01:00
Carsten Dominik 3651c206ee Add key bindings for MobileOrg support 2009-09-17 12:45:01 +01:00
Carsten Dominik c6b51ed889 Implement a new agenda view for finding and working on flagged entries 2009-09-17 07:35:34 +01:00
Carsten Dominik 21ee85d4b3 Implement exporting agenda views to Org files
This will be used for MobileOrg.
2009-09-17 07:35:34 +01:00
Carsten Dominik 8c9eee443d Reorganize the Agenda menu
I needed more space to add the MobileOrg commands, and I also think it
is more consistent now.
2009-09-17 07:35:33 +01:00
Carsten Dominik e2ee292aad Fix whitespace issues in org.el and org-agenda.el 2009-09-17 07:35:33 +01:00
Bastien Guerry 84c2435968 Minor visual improvements.
org.el (org-offer-links-in-entry): Don't use "Select link" as a prompt
in the temporary window.

org-agenda.el (org-agenda-bulk-mark): Use a slightly soberer prefix for
marked entries in the agenda view.
2009-09-08 11:10:13 +08:00
Carsten Dominik 1db9613478 Fix bugs in the agenda bulk action menu
The commands in the menu still reflected the old implementation which
had a single key for toggling the mark.

Reported by Giles Chamberlin
2009-09-07 14:54:32 +02:00
Carsten Dominik fa5d97e28c Agenda: Fix bug with entry text in empty entries
Report by Rainer Stengele
2009-09-06 22:52:54 +02:00
Carsten Dominik 590a518fb9 Fix order bug when cleaning up entry lines for agenda 2009-09-06 07:05:25 +02:00
Carsten Dominik c5a26208a8 More user options to clean up entry text that will be shown in the agenda.
> > New mode to show some entry body text in the agenda
> > ----------------------------------------------------
> > There is now a new agenda sub-mode called
> > `org-agenda-entry-text-mode'.  It is toggled with the `E' key.
> > When active, all entries in the agenda will be accompanied by a
> > few lines from the outline entry.  The amount of text can be
> > customized with the variable `org-agenda-entry-text-maxlines'.
>
>
> this already avoids displaying drawer lines.
> I also see lines like:
>
>     - State "DONE"       from "WARTEN"     [2009-08-04 Di 16:19]
>     - State "DONE"       from "WARTEN"     [2009-07-02 Do 09:43]
> ...
>
> and in my remeber templates I always create lines like:
>
>      created: [2009-08-03 Mo 11:46]
>
> with the creation date of the entry.
> Would it be possible and make sense to set up a variable for a
> regexp to exclude lines like the ones above from showing?

This commit sets up such a variable, and also a hook.
2009-09-05 07:53:46 +02:00
Carsten Dominik 291a6db848 Release number back to 6.30trans 2009-09-04 10:39:01 +02:00
Carsten Dominik 9d5cc8e422 Agenda: Support for including a link in the category string
The category can contain a bracket link.  This commit makes sure that
the prefix in the agenda looks OK if there is a link, and that the
link is accessible with `C-c C-o 0'.
2009-09-04 08:24:38 +02:00
Carsten Dominik 12ab55ca43 Release 6.30d 2009-09-03 13:53:46 +02:00
Carsten Dominik c7c2ec4bc7 Fix Emacs 22 bug in `org-agenda-quit' 2009-09-03 13:53:03 +02:00
Carsten Dominik 0f9ad773c0 Fix bug with invisible agenda items
Peter Westlake writes:

> This is quite obscure, and an odd corner case, but here it is.
>
> If you have an item which is:
>
> - a TODO
> - scheduled
> - ordered
> - blocked by a child TODO
>
> then it leaves an empty line in the agenda.
>
> Here's a test case:
> ,----
> | * Press t r on this line in the agenda
> |   SCHEDULED: <2009-09-02 Wed>
> |   :PROPERTIES:
> |   :ORDERED:  t
> |   :END:
> | *** TODO Report invisible scheduled items
> `----
>
> C-a a a will show an agenda with "Scheduled: Press t r ...".
> Press "t" on that line to add a TODO.
> Press "r" to redisplay, and see the line go blank.
>
> Peter.
2009-09-03 08:10:36 +02:00
Carsten Dominik adfa87282d Push version number to 6.30trans 2009-09-03 08:10:36 +02:00
Carsten Dominik 63e1714288 Release 6.30c 2009-09-02 14:40:56 +02:00
Carsten Dominik 1152565013 Avoid using time-to-seconds 2009-09-02 14:37:47 +02:00
Carsten Dominik fc332703bf Release 6.30b 2009-09-02 11:33:10 +02:00
Carsten Dominik 1d04b205e6 Release 6.30a 2009-09-02 09:00:23 +02:00
Carsten Dominik 24e7c62b84 Some small fixes 2009-09-02 08:53:06 +02:00
Carsten Dominik db70cdb13b Release 6.30 2009-09-01 06:09:23 +02:00
Carsten Dominik 4d7494d58b Agenda: Make `org-agenda-cycle-show' more consistent with normal cycling 2009-08-31 08:08:22 +02:00
Carsten Dominik 6bddc14c20 New effort-setting commands
To set the effort property without going to column view.
2009-08-29 20:21:15 +02:00
Carsten Dominik 95d1e4e4f3 Agenda: Keep window setup when calling org-agenda from within agenda buffer 2009-08-29 20:16:28 +02:00
Carsten Dominik 99365e3961 Links: Improve following links in entry 2009-08-29 20:11:14 +02:00
Carsten Dominik 012eabc35f Links: Make C-c C-o on a headline offer all links in headline and entry text 2009-08-28 10:42:37 +02:00
Carsten Dominik bbc27c011a Agenda: When in separate frame, mark the frame dedicated.
Henry Atting writes:

> If org agenda is displayed in an other frame then windows aren*t
> restored when quitting, I have to kill the frame manually.  I
> really would like it to behave like e.g. gnus-other-frame which
> automatically kills his frame on quitting.
2009-08-27 18:18:28 +02:00
Carsten Dominik fa36f186b2 New keys for switching the agenda through time.
The new keys are b and f.  This used to be on the cursor keys, but
they do now again do cursor motion.

This is a significant change in the UI, I hope this will not cause too
many problems.
2009-08-27 16:08:55 +02:00
Carsten Dominik 99f507daf5 Keep byte compiler happy 2009-08-27 15:18:25 +02:00
Carsten Dominik 350691164b Avoid calling `goto-line' from lisp programs 2009-08-27 10:24:09 +02:00
Carsten Dominik 632d7813ec Agenda: New submode to show entry text inline with the agenda entries.
The key access it `E'.
2009-08-27 09:56:46 +02:00
Carsten Dominik d0bee84a32 Force visual line motion off in the agenda 2009-08-27 07:42:12 +02:00
Bernt Hansen 64d3186ff6 Fix agenda bulk refile bug
Fix bulk refiling in the agenda due to commit
9ec5529 (Fix jumping to last refile location in agenda, 2009-08-20)

This restores the original behaviour.
2009-08-26 10:29:24 -04:00
Carsten Dominik c2265b4145 Improve following links from the agenda
`C-c C-o' in the agenda will now offer links visible in the agenda
line and also links in the entry text of the original outline node.
2009-08-26 13:09:26 +02:00
Carsten Dominik 7284206c6a Merge branch 'for-carsten' of git://git.norang.ca/org-mode
Conflicts:
	lisp/org-agenda.el
2009-08-26 06:40:45 +02:00
Carsten Dominik 8a72889e39 Agenda: Improve of the command `org-agenda-open-link'
It can now handle multiple links in the entry, as well as entry text
pulled in via `E'.
2009-08-25 22:45:58 +02:00
Bernt Hansen 9ec5529af0 Fix jumping to last refile location in agenda
C-u C-u C-c C-w now goes to the last refile location in the agenda.
This is the same behaviour as org-refile (when used in an org file)
2009-08-25 10:05:14 -04:00
Carsten Dominik 0688613ca8 Test implementation for agenda showing some amount of entry text 2009-08-24 18:43:10 +02:00
Carsten Dominik 158a5d8fe6 Improve documentation on inclusion if inactive timestamps. 2009-08-18 07:17:15 +01:00
Carsten Dominik ca699a970d Agenda: Fix problem with block entries.
This bug was caused by commit
8c177dc832, and reported by Matt
Lundin.  The problem was that this commit tried to remove the text
propertes of the MATCH part of an agenda command.  However, in block
commands, the MATCH part is not a string.
2009-08-18 06:31:33 +01:00
John Wiegley 5acac25dc1 All completing-read behavior for iswitchb users
This is enabled using org-completion-use-iswitchb, and follows the same
model of usage as for ido users.
2009-08-15 01:14:04 +02:00
Carsten Dominik 7d5fe030e3 Get rid of unnecessary prompt in agenda view
Patch by Bernt Hansen

http://thread.gmane.org/gmane.emacs.orgmode/16485
2009-08-14 20:47:39 +02:00
Carsten Dominik 8c177dc832 Avoid text properties on elements in custom variables 2009-08-14 17:18:14 +02:00
Carsten Dominik ab2ed6adb8 Agenda: avoid some duplicate entries
New variable `org-agenda-skip-scheduled-if-deadline-is-shown' to avoid
that a entry shows up in the agenda for today for both a scheduling
and a deadline entry.  See the docstring of the variables for more
details.
2009-08-07 23:59:22 +02:00
Carsten Dominik 0af5133334 Mark running clock in the agenda.
If the entry currently being clocked is present in the agenda, mark it.
2009-08-07 11:00:16 +02:00
Carsten Dominik 0622debb55 Agenda: Add a command to toggle the bulk mark. 2009-08-07 07:22:22 +02:00
Carsten Dominik bfdd3d3fd3 Push version number to 6.29trans 2009-08-06 12:07:20 +02:00
Carsten Dominik 0864163024 Release 6.29c 2009-08-06 06:26:23 +02:00
Carsten Dominik d6b37ddbea Release 6.29b 2009-08-05 12:34:30 +02:00
Carsten Dominik 1c25048e48 Release 6.29a 2009-08-04 23:54:22 +02:00
Carsten Dominik d67a9be8a2 Release 6.29 2009-08-04 23:06:39 +02:00
Carsten Dominik babd053bd6 Fix bulk agenda processing with parents and children in the loop
Bernt Hansen writes:

> Every so often I run into a situation where bulk refiling
> doesn't work anymore.
>
> I currently have 15 items in my refile.org file that I want
> to refile to other locations.  I marked a few of them and
> bulk refiled them just fine.  Then I marked a few more and B
> r fails with "Cannot find entry for marker #<marker at
> 297156 in norang.org>"
>
> I think this happens when I mark multiple tasks in the same
> subtree (i.e. the parent and a sibling) and refile both to
> the same location.  After that it gets confused.
>
> If I have a task like this in refile.org
>
> #+FILETAGS: REFILE
> * Test
> ** Test 2
>
> and run a tags match on REFILE I see both tasks.  Mark both
> with m in the agenda and B r to some other location.  It
> refiles the first (and this moves the sibling too) and then
> it's broken after that.
>
> I get the following backtrace
>
> Debugger entered--Lisp error: (error "Cannot find entry for
> marker #<marker at 297156 in norang.org>")

Indeed the happens because, when a parent gets refiled or
achieved, any entries corresponding to its children are
removed from the agenda.

We address this issue by

- sorting the markers, to make sure parents will be handled
  before children

- No longer throwing an error when a bulk action entry no
  longer is present in the agenda - most likely it was taken
  care of together with its parent.
2009-08-04 22:46:08 +02:00
Carsten Dominik 2eecb4c43c Fix white-space errors 2009-08-03 17:30:30 +02:00
Carsten Dominik 31ceed47ff New minor mode org-indent-mode
This mode implements outline indentation similar to clean view, but in
a dynamic and virtual way, at display time.
2009-08-03 06:24:24 +02:00
Bastien Guerry 7cdff7b1eb New timer functionality to set a timer from a headline.
This commit defines three new functions in org-timer.el:

- org-timer-set-timer, bound to `C-c C-x ;' in Org buffers
  and to `;' in Org agenda buffers.   This function sets a
  timer for the headline the cursor is currently it.  Up to
  three timers can be set.

- org-timer-show-remaining-time: this shows the remaining
  time for the last set timer.

- org-timer-reset-timers: this reset all timers.

This functionality was requested by Samuel Wales and emulates
that of tea-time.el -- see the emacswiki doc about tea-time.el:

  http://www.emacswiki.org/emacs/tea-time
2009-07-27 02:54:17 +08:00
Carsten Dominik d19ebd84c3 Agenda bulk commands: Add Schedule and Deadline
Agenda bulk commands on marked entries now can also set the scheduling
date or a deadline.  Normally, all entries will be set to the
specified date.  However, when writing the change as "++5d" or "++2w",
then each time stamp will independently be shifted by that amount.
2009-07-02 17:10:03 +02:00
Carsten Dominik b5edb36f94 Fix bug with matching sublevels 2009-06-28 08:45:56 +02:00
Carsten Dominik e5d6bd0cc0 Load org-icalendar when exporting agenda file to ics 2009-06-27 23:39:09 +02:00
Carsten Dominik f648323253 Push version number to 6.28trans 2009-06-26 17:26:50 +02:00
Carsten Dominik cd4e52a5ef Release 6.28d 2009-06-26 17:23:27 +02:00
Carsten Dominik 94812099b0 Agenda: Add more keys to the view dispatcher 2009-06-26 17:22:48 +02:00
Carsten Dominik 00ddc4dba7 Release 6.28c 2009-06-26 09:27:50 +02:00
Carsten Dominik 5bbd1cb2df Use better keys for Bulk action selection 2009-06-26 09:27:08 +02:00
Carsten Dominik dfe2186724 Fix typos 2009-06-26 07:04:22 +02:00
Carsten Dominik e7ffcc1d4d Release 6.28b 2009-06-25 09:01:20 +02:00
Carsten Dominik 7906427aa6 Release 6.28 2009-06-25 08:59:59 +02:00
Carsten Dominik 9bf59dd0b5 Keep byte compiler happy 2009-06-25 07:29:32 +02:00
Carsten Dominik 2e3a26ae35 Agenda: Refile and bulk action
This commit implements refiling directly from the agenda.

It also implements a mechanism for selecting a number of entries in
the agenda and then executing a command on all of them.  Possible
actions include archive, refile, todo state setting, and more.
2009-06-24 21:50:42 +02:00
Carsten Dominik c76aaf8037 Agenda: Update agenda line after clocking out.
This was a request by Manish
2009-06-22 13:46:02 +02:00
Carsten Dominik e9028c2d0d Stuck projects: Honor `org-agenda-overriding-header'. 2009-06-18 23:34:29 +02:00
Carsten Dominik 8faf8271fe Improve a docstring 2009-06-18 09:56:59 +02:00
Carsten Dominik 379b24cc63 Fix whitespace issues 2009-06-08 08:00:46 +02:00
Carsten Dominik 96989dc01e Agenda: Allow custom command options to work better
When the agenda buffer for an agenda series is created, this was so
far done without the options of the custom agenda command in  place.
This meant that some options would not take effect, because the only
place where that did would have an effect was during creation of that
buffer.

This commit makes sure that the global options of an agenda series are
in fact in place when the buffer is created.
2009-06-04 09:23:57 +02:00
Carsten Dominik ae7b8f6b12 Push version number to 6.27trans 2009-05-26 15:41:44 +02:00
Carsten Dominik 0421dead4b Release 6.27a 2009-05-25 16:04:45 +02:00
Carsten Dominik 3ee470daa1 Agenda: Fix bug with killing entries from the agenda
Nicolas Goaziou writes:

> As I was saying in anoter post, it looks like there's something
> weird happening when using C-k in agenda view:
>
> 1. Create two new remember entries (i.e. test and test2) with the
> same tag (I used @office)
> 2. Narrow down the agenda view to only see the @office entries.
> 3. Kill the last but one entry (it should be "test") : both of
> "test" and "test2" disappear frow the view. Actually, "test2" is
> not properly killed, but it is scary nonetheless.
>
> It only happens with two last entries.
>
> Is anyone able to reproduce this ?
2009-05-23 23:03:00 +02:00
Carsten Dominik b681c7b26e Release 6.27 2009-05-23 08:22:04 +02:00
Carsten Dominik e88564bbba Agenda: New face for today.
There is now a separate for the date of today,
`org-agenda-date-today'.

Patch by Dmitri Minaev
2009-05-22 10:04:56 +02:00
Carsten Dominik b5b87d4b0e Agenda: Allow to remove the restriction while in agenda buffer.
`C-c C-x >' now also works while in the agenda.  Requested by Bernt
Hansen.
2009-05-22 00:38:46 +02:00
Carsten Dominik 9780353171 Agenda: Fix bug when computing agenda appointments with restriction in place 2009-05-21 18:47:33 +02:00
Carsten Dominik 86a19f342e Priorities: Conditionally disable priority commands
The new option `org-enable-priority-commands' can now be used to turn
off all priority-setting commands, to avoid setting a priority by
accident.
2009-05-21 18:01:08 +02:00
Carsten Dominik 0962662663 Agenda: Fix bug with time of day for clocking lines
Peter Frings writes:

> Good day, org-ers
>
> I have seen a *small* problem in the Agenda's log mode.
>
> Org-mode version 6.26d
> GNU Emacs 22.3.1 (i386-apple-darwin9.5.0, Carbon Version 1.6.0) of 2008-11-01
>
>
> I have this in time-sheets.org:
>
>
> * Project AI
> ** Enhancement PT <2009-04-30 Thu 10:00-11:00 +1w>
>    CLOCK: [2009-05-14 Thu 09:55]--[2009-05-14 Thu 10:45] =>  0:50
>
>
> But, the Agenda shows this:
>
> Day-agenda (W20):
> Thursday   14 May 2009
>                9:00...... ----------------
>   planning:    9:12- 9:55 Clocked:   (0:43) BUSY Notifications
>   time-sheet: 10:00-11:00 Clocked:   (0:50) Enhancement PT
>   time-sheet: 10:00-11:00 Enhancement PT
>               10:00...... ----------------
>               11:00...... ----------------
>

He is right.  Progress lines should never take their
time from the headline, always only from the triggering line.
2009-05-14 14:24:17 +02:00
Carsten Dominik d885d8f686 Agenda: Allow to start with log mode active
Benjamin Andresen writes:

> I was curious as to why a value such log-mode wasn't customizable
> to be run on start-up as follow-mode and clock-report-mode are.
>
> If Carsten thinks this is a good idea, I've attached a patch that
> may shave of 5 seconds of him adding it. It applies cleanly to
> current git HEAD.

This commit applies Beanjamin's patch
2009-05-14 09:40:53 +02:00
Carsten Dominik 8619361669 Reload: New key, works also in the Agenda
The key is now `C-c C-x !'.
2009-04-30 16:11:35 +02:00
Carsten Dominik f4f1d5cfd5 Stuck projects: Improve docstring of org-stuck-projects 2009-04-24 15:37:38 +02:00
Carsten Dominik 06491c24d8 Agenda: more optimization 2009-04-24 13:31:20 +02:00
Carsten Dominik 10cc01f7e7 Agenda: Allow to find multiple same-day time stamps in one entry
Tassilo Horn writes:

>  I have this entry in an org-file.
>
>  --8<---------------cut here---------------start------------->8---
>  ** bung Grundlagen der Softwaretechnik (B 016)        :teaching:
>    <2009-04-22 Wed 08:30-10:00 +1w>
>    <2009-04-29 Wed 10:15-11:45> (Fr Hannes bernehmen)
>  --8<---------------cut here---------------end--------------->8---
>
>  I expect it to be displayed every wednesday after 2009-04-22
>  for 08:30-10:00 and on 2009-04-29 it should be displayed
>  twice: one at the usual time and one for 10:15-11:45.
>
>  But the agenda shows only the regular entry (08:30-10:00)
>  and omitts the exception.  If I reorder the timestamps, so
>  that the exception comes first, only the exception will be
>  shown on 2009-04-29.  Every other wednesday shows the
>  regular repeater date.
>
>  What do I have to do to make that entry showing up twice on
>  29th April?

This commit adds a new option
`org-agenda-skip-additional-timestamps-same-entry'.  When set
to t, an entry that has multiple active time stamps will get
multiple lines in the agenda.
2009-04-22 09:54:18 +02:00
Carsten Dominik 69e6d249aa Push version number to 6.26trans 2009-04-22 09:08:13 +02:00
Carsten Dominik 73854f435d Release 6.26d 2009-04-22 06:42:17 +02:00
Carsten Dominik 595e9603ac Release 6.26c 2009-04-21 20:26:27 +02:00
Carsten Dominik e0cd12716a Release 6.26b 2009-04-21 10:21:36 +02:00
Carsten Dominik b8a5f1a7fc Release 6.26a 2009-04-19 22:31:36 +02:00
Carsten Dominik ba66d2c8ae Release 6.26 2009-04-19 08:38:49 +02:00
Carsten Dominik 99c7dacd66 Dependencies: New property NOBLOCKING
A NOBLOCKING property makes sure that an entry is never blocked by
whatever function in org-blocker-hook.
2009-04-08 17:01:54 +02:00
Carsten Dominik ef2ee3df5d Version number pushed to 6.25trans 2009-04-07 18:43:42 +02:00
Carsten Dominik eef47f820f Release 6.25d 2009-04-05 15:29:45 +02:00
Carsten Dominik e2eebc83a1 Release 6.25c 2009-04-05 08:45:39 +02:00
Carsten Dominik 5624263d97 Release 6.25b 2009-04-03 19:18:41 +02:00
Carsten Dominik f2cbe79383 Agenda: Fix regexp bug that leads to incorrect time display 2009-04-03 17:43:30 +02:00
Carsten Dominik 20bc495a63 Agenda: Add notes to log book entries
If the trigger for a log mode entry in the agenda has notes, for
example a note associated with a state change or with a clock entry,
the first line of the notes will now be added to the logbook entry.
You can turn this off the with new variable
`org-agenda-log-mode-add-notes'.
2009-04-03 10:25:02 +02:00
Carsten Dominik 1426f8bcfd Release 6.25a 2009-04-02 18:24:52 +02:00
Carsten Dominik db2d759979 Agenda: New hook for cleaning up the fancy diary buffer 2009-04-02 18:20:47 +02:00
Carsten Dominik aeb5cb98d6 Release 6.25 2009-04-01 16:00:39 +02:00
Carsten Dominik ef738cf38a Fix customization types: integer instead of number, where appropriate 2009-04-01 13:58:27 +02:00
Carsten Dominik b16747b21c Agenda filter: Filter for entries with no effort defined
During secondary agenda filtering, pressing "?" now will install a
filter that selects entries which do not have an effort defined.

This new model was necessary because we needed to stop interpreting
entries with no effort defines as 0 effort.  This was inconsistent,
because for normal agenda sorting, the treatment of these entries
depends on the variable `org-sort-agenda-noeffort-is-high'.  Now this
variable is also respected during filtering.
2009-03-31 18:22:31 +02:00
Carsten Dominik 68e6c08c17 Agenda: Introduce user-defined sorting operators.
The new variable `org-agenda-cmp-user-defined' can contain a function
to test how two entries should be compared during sorting.
user-defined-up and user-defined-down can then be part of any sorting
strategy.
2009-03-27 17:50:21 +01:00
Carsten Dominik b4c6dab208 Agenda: Make sure diary items are searched for a time.
The new variable `org-agenda-search-headline-for-time' also turned off
time searching for diary items as an unwanted side-effect.  This
commit makes sure that diary entries are always parsed for a time.
2009-03-25 12:01:30 +01:00
Carsten Dominik 70b975f89c Agenda: Fix bugs with FILETAGS
Harri Kiiskinen writes:

>  It seems that org-use-tag-inheritance set to regexp, the use of
>  #+FILETAGS: and org-todo-list do not work together. It seems, that a
>  regexp in org-use-tag-inheritance matching a tag set in #+FILETAGS
>  causes this error:
>
>  Debugger entered--Lisp error: (wrong-type-argument stringp nil)
>   string-match("^ +" nil)
>  [...]
>  when org-use-tag-inheritance is set to regexp "te"
>  with this file:
>
>  --------
>  #+STARTUP:
>  #+FILETAGS: tea
>  * TODO testing 		       :test:
>  ** TODO too			       :data:
>  -----
>
>  When the regexp is "tes", so that the FILETAG does not match,
>  org-todo-list produces a correct list.

This is indeed a bug.  The all to `org-get-tags-at' does change the
match data if there is a match for the inheritance regexp.  This
problem is now avoided by first extracting (match-string 1), and then
getting the tags.

Studying this bug also exposed another one, namely that file tags are
not marked as inherited tags.  This is now fixed, immediately when
the #+FILETAGS line is parsed.
2009-03-25 09:20:12 +01:00
Carsten Dominik 7924dcb1bf New face for items switched in agenda to DONE.
Items are listed in the agenda sometimes in bright colors, to draw
attention to important tasks or deadlines.  When such an item is
switched to DONE, the state change is reflected by the new TODO
keyword, but the line itself might still be bright.  Org de-emphasizes
the line by changing the face of the line.  It used to change it to
the face `org-done', but now we use a new, independent face
`org-agenda-done'.
2009-03-21 18:25:01 +01:00
Carsten Dominik aaedf7d01a Stuck projects: Search subtree of un-stuck projects
This commit implements an important change:  When, during a
stuck-project search, a project tree is identified as not stuck, so
far the search would continue after the end of the project tree.  From
now on, the search continues in the subtree, so that stuck subprojects
can still be identified.
2009-03-19 10:47:04 +01:00
Carsten Dominik ae2cf50782 Alan E Davis writes:
>  Feature Request: that the pdf saved automatically from agenda be
>  immediately displayed
>  The saving of a pdf is a really nice feature.  I had hacked
>  org-agenda, I think, to automatically do this.  However, it would
>  be nicer if immediate display were optional.  I don't know
>  whether \C-u makes sense as a prefix to saving a file with \C-x
>  \C-w.  Perhaps not.

Why not, C-c C-x C-w is a fine idea for this.  It should now work.
2009-03-15 16:46:44 +01:00
Carsten Dominik 95b00738e3 Minor fix 2009-03-15 16:39:12 +01:00
Carsten Dominik 722fc9a490 Version number to 6.24trans 2009-03-14 08:03:10 +01:00
Carsten Dominik acfcb14c82 Time stamps: Changing time ranges as a block.
Anupam Sengupta writes:

>  I routinely use time ranges (and occasionally time-stamp ranges)
>  in my org files to document the scheduled block of time for a
>  meeting or activity.  As an example, I will mark meetings as:
>
>  * A Meeting
>   <2009-03-12 Thu 10:00-11:00>
>
>  As often happens with meetings, rescheduling needs to be done and
>  I use S-<up> or S-<down> on the time-stamp to make the
>  modifications.  While this works fine, it usually leads to a
>  duplication when the *time* part of the time-stamp needs to be
>  changed.
>
>  For the same example above, if the time-block has now changed to
>  11:00-12:00, then I need to do S-<up> on both the "10:00" and the
>  "11:00" string.  I.e,
>
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-11:00>
>                    ^
>                    +---------------- After the first S-<up>
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-12:00>
>                          ^
>                          +---------------- After the second S-<up>
>
>  Can we have a feature (with a toggle option perhaps) which would
>  *move* the block (i.e., both time entries) by the same amount
>  when either one is moved in the same direction. I.e., the
>  proposal is to have:
>
>  * A Meeting
>   <2009-03-12 Thu 11:00-12:00>
>                    ^     ^
>                    |     |
>                    |     +---------- Automatically shifted
>                    +---------------- After the S-<up>

This is in fact how changing time works in many applications, and
it does make sense here as well.  The commits implements this
change.

It also implements a way to change the start time of an entry from
the agenda.  The date is normally changed with S-right/left.
Now, if you add a C-u prefix, the hour will be changed.  If you
immediately press S-right/left again, hours will continue to be
changed.

A double prefix will do the same for minutes.
2009-03-14 08:02:09 +01:00
Carsten Dominik c8b6a9cc60 Release 6.24c 2009-03-12 12:51:17 +01:00
Carsten Dominik 680d8cb440 Release 6.24b 2009-03-10 17:50:17 +01:00
Carsten Dominik 8d6d8dc2df Improve documentation 2009-03-09 08:44:36 +01:00
Carsten Dominik 7e8a387184 Release 6.24a 2009-03-09 05:37:09 +01:00
Carsten Dominik 029fc74688 Agenda: Control how links are presented in added text.
Patch by Christopher Suckling.
2009-03-08 16:53:05 +01:00
Carsten Dominik 20828f3176 Release 6.24 2009-03-05 21:11:18 +01:00
Carsten Dominik 42cbb29b3e Documentation fixes 2009-03-03 18:27:11 +01:00
Carsten Dominik 8c412ca71f Agenda: Allow custom commands to specify a filter preset.
Custom commands can now bind `org-agenda-filter-preset'.  This filter
will then be present in the agenda view and persist through refresh
and further filtering.  Only a new agenda command will remove the
filter again.
2009-03-03 15:41:15 +01:00
Carsten Dominik b719ac011d Bug fix. 2009-03-03 13:12:37 +01:00
Carsten Dominik d3d2b3e835 Priorities: Allow specific faces for priority cookies
The variable org-priority-faces can now be used to set special faces
for different priority cookies.

Also, in the agenda, the default is now to fontify only the priority
cookie, not the entire task.  See the variable
`org-agenda-fontify-priorities'.
2009-03-03 12:44:53 +01:00
Carsten Dominik a5b2a0c759 Documentation: Improve and collect documentation about the match view 2009-03-03 10:20:23 +01:00
Peter Jones 8b38105040 Conditionally delete windows in agenda quit
Before this patch, org-agenda-quit would delete the agenda window if
the frame had more than one window.  This patch changes that behavior
slightly so that if org-agenda-window-setup is 'current-window, the
agenda window won't be deleted.
2009-03-01 17:18:35 +01:00
Carsten Dominik 8cdc0cc961 Agenda views: Simplify setting up inclusion of entry text 2009-02-27 10:37:38 +01:00
Carsten Dominik c91bca9d1c Push version number to 6.23trans 2009-02-26 21:32:04 +01:00
Carsten Dominik f4d1d56046 Agenda export: Implement PDF export
The agenda can ow also be written to a pdf file.  This requires the
ps2pdf utility to be present on the system.
2009-02-26 21:19:11 +01:00
Carsten Dominik aadcc50e00 Agenda export: Allow entry text to be inlined for export.
A new hook is introduced, `org-agenda-before-write-hook'.
A function that ca be added to this hook is
`org-agenda-add-entry-text'.   When this is done, each of the entries
shown in the agenda is amended with text that in the original buffer
is part of the entry text below the headline.  Drawers are not copied,
and also the line with scheduling and deadline information is not
used.  Finally, the number of ines to be added is imited by
`org-agenda-add-entry-text-maxlines'.
2009-02-26 20:56:26 +01:00
Carsten Dominik 3dba115548 Agenda: New option to stop searching headline for a time.
If the headline contains a time-of-day in one format or another, it
will be used to sort the entry into the time sequence of items for a
day.  Some people have time stamps in the headline that refer to the
creation time or so, and then this produces an unwanted side effect.
If this is the case for your, use the new option
`org-agenda-search-headline-for-time' to turn off searching the
headline for a time.
2009-02-25 13:01:28 +01:00
Carsten Dominik f44631e70f Agenda: Make prefix argument to `org-agenda' optional.
This is to make it easier to call this function from lisp.

Patch by Eric Schulte.
2009-02-25 12:51:00 +01:00
Carsten Dominik 6c8beec225 Release 6.23b 2009-02-22 18:37:24 +01:00
Carsten Dominik 482216f300 Release 6.23a 2009-02-21 15:18:39 +01:00
Carsten Dominik 081eabb3f6 Agenda: Fix bug with state change matching for log display
Reported by Matt Lundin.
2009-02-20 22:55:50 +01:00
Carsten Dominik 82f2fca21e Release 6.23 2009-02-20 11:16:03 +01:00
Carsten Dominik 7a5311543d Documentation improvements 2009-02-19 17:11:54 +01:00
Carsten Dominik 4a6bfd6552 Minor bug fix in experimental code. 2009-02-19 11:13:15 +01:00
Carsten Dominik 06056781fe Agenda: Do not make tasks invisible if they are blocked by checkboxes.
John Rakestraw writes:

>  I noticed today that, at least in my set-up, setting these variables
>  this way:
>
>    (setq org-agenda-dim-blocked-tasks 'invisible)
>    (setq org-enforce-todo-checkbox-dependencies t)
>
>  means that a TODO task with checkboxes doesn't get included in the
>  agenda. However, the sub-tasks in the checkbox list don't get included,
>  either. So the TODO task with checkboxes doesn't show up in the agenda.
>
>  It makes sense given the way the variables work. However, I wonder if
>  it makes more sense for a task with checklisted sub-tasks to be
>  included in the agenda so that the tasks and sub-tasks don't get lost.
>  Or, to put the point slightly differently, I think that a TODO that's
>  blocked because it has dependent TODOs might be treated differently in
>  agenda listings than a TODO that's blocked because it has dependent
>  checklist items.
>
>  Not a big deal to me because I don't typically use checkboxes for TODO
>  items. But I thought I'd raise it for consideration.

I agree with this view and the commit implements exactly this.
2009-02-19 11:12:52 +01:00
Carsten Dominik fa54d8104a Agenda: Fix problems with follow mode. 2009-02-19 10:40:08 +01:00
Carsten Dominik a55dd5a9e6 Docs: Mention more variables in the manual.
The variables `org-agenda-todo-ignore-deadlines' and
`org-agenda-todo-ignore-with-date, and
`org-agenda-tags-todo-honor-ignore-options' are now all mentioned in
the docs.
2009-02-18 15:51:51 +01:00
Carsten Dominik b013bea1c9 Agenda: Prefix args can specify context to `org-agenda-show'.
The commands org-agenda-show can now be used to show varying degrees of
context when called with a prefix argument. `0 SPC', `1 SPC', ... `4
SPC'.

The new command `org-agenda-cycle-show' shows different amounts of
context when called several times in succession.
2009-02-17 21:46:41 +01:00
Carsten Dominik bc74aecd8d Agenda: Improve window fitting while making a series of blocks
The agenda window was fitted after each partial command, which makes
no sense.  Now it is only fitted after the final block.
2009-02-16 19:13:20 +01:00
Carsten Dominik b44e3d05ee Agenda: Fix sorting by TODO state in block agendas
Christopher Suckling reports that todo state sorting doe not work in
block agenda.  The reason for this that the variable
`org-todo-keywords-for-agenda' which is supposed to be a lost of all
keywords of all buffers contributing to the agenda, is not correct
during the construction of a block agenda.

Therefore, this commit instructs the todo state comparison function to
refer back to the original buffer for a list of todo keywords.
2009-02-16 19:01:52 +01:00
Carsten Dominik a6c8fac4f9 Agenda: Make sure all entries have a todo-state property
This is needed for sorting, and I had forgotten to add this property
to tag scans, and to sexps.

Reported by Christopher Suckling.
2009-02-16 07:52:41 +01:00
Carsten Dominik 0dae1ba349 Agenda: Make overriding header one of the default option variables 2009-02-16 05:37:58 +01:00
Carsten Dominik b40671f31b Agenda: Fix incomplete docstring of `org-agenda'.
Reported by Jonathan Moore.
2009-02-13 23:21:10 +01:00
Carsten Dominik 492a5b5ea9 Version number: Push to 6.22trans 2009-02-13 07:45:42 +01:00
Carsten Dominik bc5b0056e7 Release 6.22b 2009-02-10 20:21:33 +01:00
Carsten Dominik a599bca287 Agenda: Add new skip conditions to choose menu. 2009-02-10 20:21:33 +01:00
Carsten Dominik ce42b4be86 Agenda: New command to revert all Org-mode buffers from files 2009-02-10 20:21:27 +01:00
Carsten Dominik e592c77846 Release 6.22a 2009-02-10 10:11:23 +01:00
Carsten Dominik 8d213584ff Release 6.22 2009-02-10 08:23:35 +01:00
Carsten Dominik 4e973c6b82 Agenda: New skipping conditions timestamp and nottimestamp.
The org-agenda-skip-xxx-if functions can now also handle a `timestamp'
and a `nottimestamp' condition.
2009-02-04 15:19:21 +01:00
Carsten Dominik 93ec228f36 Push version number to 6.21trans 2009-02-03 00:06:22 +01:00
Carsten Dominik 0b424cb238 Release 6.21b 2009-02-02 21:42:20 +01:00
Carsten Dominik 2fa17ebf74 Release 6.21a 2009-02-02 14:23:54 +01:00
Carsten Dominik 193fab0788 Release 6.21 2009-02-02 12:18:44 +01:00
Carsten Dominik 2949012f0f Change default values of some variables. 2009-02-01 23:49:03 +01:00
Carsten Dominik c1296074f2 Release 6.20i 2009-02-01 00:16:43 +01:00
Carsten Dominik bb95b83162 Agenda: Keep org-depend from setting its tag when only checking for blocking.
When org-depend.el is loaded, running the blocker hook will already
toggle a tag.  However, when dimming the agenda, we do not want that.

Reported by Dan Griswold.
2009-02-01 00:15:29 +01:00
Carsten Dominik 924110aecc Release 6.20h 2009-01-30 18:31:37 +01:00
Carsten Dominik f99b00f61c Release 6.20g 2009-01-30 09:20:41 +01:00
Carsten Dominik 99221708a3 Agenda: Fix bug with calling `org-agenda-todo' in a non-interactive way. 2009-01-30 07:38:02 +01:00
Carsten Dominik bb3570eae9 Release 6.20f 2009-01-29 15:29:07 +01:00
Carsten Dominik 11fa49dd21 Release 6.20e 2009-01-29 14:13:30 +01:00
Carsten Dominik 317f08c69b Release 6.20d 2009-01-29 10:38:35 +01:00
Carsten Dominik 435ac059bf Release 6.20c 2009-01-28 14:35:50 +01:00
Carsten Dominik ef020f221e Bugfix: Ignore again scheduled tasks. 2009-01-28 14:35:07 +01:00
Carsten Dominik bc19e4df69 Release 6.20b 2009-01-28 14:04:56 +01:00
Carsten Dominik 16f7c4f384 Release 6.20a 2009-01-28 12:28:54 +01:00
Carsten Dominik b81f597de0 Release 6.20 2009-01-28 09:30:12 +01:00
Carsten Dominik 49e8ee37a8 Dependencies: Integrate John Wiegley's TODO dependency code.
See the documentation for details.
2009-01-28 09:02:37 +01:00
Carsten Dominik 78b4ca8cfc Release 6.19e 2009-01-27 11:44:49 +01:00
Carsten Dominik 452f7352f6 Maintenance: Cleanup and minor fixed. 2009-01-27 11:42:32 +01:00
Carsten Dominik 2860252c9e Minor fixes, and release 6.19d 2009-01-27 09:11:34 +01:00
Carsten Dominik c848dae4be Release 6.19c 2009-01-27 09:02:13 +01:00