* 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
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
* 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.
* 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.
* 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.
* 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.
* 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.
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
* 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
,----
| 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.
`----
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'.
* 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.
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'.
* 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.)
* 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.
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'.
* 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.
* 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.
* 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'.
* 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
* 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
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
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.
* 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.
* 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.
* 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.
* 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.
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.
* 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.
* 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.
* 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.
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
* 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.
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>
* 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'.