From: Carsten Dominik <dominik@science.uva.nl>
To: Mikael Fornius <mfo@abc.se>
Cc: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Makes diary sexps appear correct in agenda views.
Date: Fri, 20 Feb 2009 11:05:09 +0100 [thread overview]
Message-ID: <839C66B8-92BE-49DB-8977-103AC67B32D0@uva.nl> (raw)
In-Reply-To: <87wsbm8n0i.fsf@abc.se>
[-- Attachment #1.1: Type: text/plain, Size: 4062 bytes --]
Hi Michael,
The <%%(diary-function)> format is really for DEADLINE and scheduled.
If you want to use diary-like entries, also including the text
after the function call, the idea is that you place these lines
directly in the buffer, exactly like you would in the diary buffer:
* Today is the 17th
%%(diary-date 17 t t)
%%(diary-date 18 t t) Now it is the 18th.
* Birthdays
%%(diary-anniversary 3 3 1979) Adam becomes %d years old!
> The <%%(-sexps has worked properly before in earlier versions of org
> and
> the regexp
>
>> - (regexp "^&?%%(")
>
> makes me think that there is more because I find the ampersand hard to
> understand or motivate.
The ampersand is allowed because it has a function in diary buffers.
It has no function in Org buffers, but this allows you
to copy and paste diary lines into Org buffers without further
modifications.
HTH
- Carsten
On Feb 19, 2009, at 4:27 PM, Mikael Fornius wrote:
> Fixes a problem with some diary-sexps not occuring correct or not
> showing up at all in agenda view. (More description in the attached
> patch.)
>
> I hope it will be useful!
>
> Org-mode is a great mode.
>
> From 0f05f81034eefeca63fd03f841c22a89357f3768 Mon Sep 17 00:00:00 2001
> From: Mikael Fornius <mfo@abc.se>
> Date: Thu, 19 Feb 2009 15:54:05 +0100
> Subject: [PATCH] Makes diary sexps appear correct in agenda views.
>
> Advanced sexps did not show up because of problem in
> org-agenda-get-sexps. Now:
>
> When no additional text in sexp-entry it uses the headline text in
> agenda:
>
> * Today is the 17th
> <%%(diary-date 17 t t)>
> <%%(diary-date 18 t t) Now it is the 18th.>
> * Birthdays
> <%%(diary-anniversary 3 3 1979) Adam becomes %d years old!>
>
> The first is formatted with "Today is the 17th" in the agenda view,
> the second sexp as "Now it is the 18th." (not with the heading) and
> the anniversary as "Adam becomes 30 years old!".
> ---
> lisp/org-agenda.el | 23 ++++++++++-------------
> 1 files changed, 10 insertions(+), 13 deletions(-)
>
> diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
> index 40fc456..a67081a 100644
> --- a/lisp/org-agenda.el
> +++ b/lisp/org-agenda.el
> @@ -3504,7 +3504,7 @@ the documentation of `org-diary'."
> 'help-echo
> (format "mouse-2 or RET jump to org file %s"
> (abbreviate-file-name buffer-file-name))))
> - (regexp "^&?%%(")
> + (regexp "<%%(")
> marker category ee txt tags entry result beg b sexp sexp-entry
> todo-state)
> (goto-char (point-min))
> @@ -3516,7 +3516,7 @@ the documentation of `org-diary'."
> (setq b (point))
> (forward-sexp 1)
> (setq sexp (buffer-substring b (point)))
> - (setq sexp-entry (if (looking-at "[ \t]*\\(\\S-.*\\)")
> + (setq sexp-entry (if (looking-at "[ \t]*\\(\\S-.*\\)>")
> (org-trim (match-string 1))
> ""))
> (setq result (org-diary-sexp-entry sexp sexp-entry date))
> @@ -3525,17 +3525,14 @@ the documentation of `org-diary'."
> category (org-get-category beg)
> todo-state (org-get-todo-state))
>
> - (if (string-match "\\S-" result)
> - (setq txt result)
> - (setq txt "SEXP entry returned empty string"))
> -
> - (setq txt (org-format-agenda-item
> - "" txt category tags 'time))
> - (org-add-props txt props 'org-marker marker)
> - (org-add-props txt nil
> - 'org-category category 'date date 'todo-state todo-state
> - 'type "sexp")
> - (push txt ee))))
> + (when (string-match "\\S-" result)
> + (setq txt (org-format-agenda-item
> + "" result category tags 'time))
> + (org-add-props txt props 'org-marker marker)
> + (org-add-props txt nil
> + 'org-category category 'date date 'todo-state todo-state
> + 'type "sexp")
> + (push txt ee)))))
> (nreverse ee)))
>
> (defalias 'org-get-closed 'org-agenda-get-progress)
> --
> 1.5.6
>
>
> --
> Mikael Fornius
> _______________________________________________
> Emacs-orgmode mailing list
> Remember: use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[-- Attachment #1.2: Type: text/html, Size: 8540 bytes --]
[-- Attachment #2: Type: text/plain, Size: 204 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
next prev parent reply other threads:[~2009-02-20 10:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-19 15:27 [PATCH] Makes diary sexps appear correct in agenda views Mikael Fornius
2009-02-19 17:25 ` Mikael Fornius
2009-02-20 10:29 ` Diary sexps in agenda Mikael Fornius
2009-02-20 10:05 ` Carsten Dominik [this message]
2009-02-20 10:35 ` [PATCH] Makes diary sexps appear correct in agenda views Mikael Fornius
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=839C66B8-92BE-49DB-8977-103AC67B32D0@uva.nl \
--to=dominik@science.uva.nl \
--cc=emacs-orgmode@gnu.org \
--cc=mfo@abc.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).