|
From: | Carsten Dominik |
Subject: | Re: [Orgmode] How to add entries to an org file, not diary |
Date: | Mon, 9 Nov 2009 22:45:32 +0100 |
Fixed, thanks - Carsten On Nov 9, 2009, at 10:39 PM, Bernt Hansen wrote:
Carsten Dominik <address@hidden> writes:Hi Stephen, On Nov 6, 2009, at 4:16 PM, Stephen Eglen wrote:Dear all, If I'm visting an agenda (C-c a a) buffer, and want to add a diary entryfor a particular day, I can use org-agenda-diary-entry, bound to 'i'.This inserts an entry in my diary file. What I'd like to do is add the entry instead to an org file,e.g. 'agenda.org' where I currently store all diary-like entries. Isthat functionality available? (Am trying to wean myself off diary files, after many years of using it...)If you get the latest Org version from the git server, you can configure the variable `org-agenda-diary-file' to point to your "diary.org" file or any other Org-mode file. This should be a file dedicated for general appointments, anniversaries etc. Then `i' in the agenda will create new entries in that file. Simple entries (day and block) will be placed into an outline tree that is based on dates: Top-level years, level 2 months, level 3 days[1]. I have always wanted to have something like this, so that it will be easy to archive old stuff! So thanks for giving me a reason to finally make it. Right now I have implemented i d for day entries, i b for blocks, i a for anniversaries (which will be collected under a special heading "Anniversaries" in your `diary.org' i j To jump to the cursor date in the date tree What else would be useful? The same command will also be bound to the `i' key in the calendar (calendar restart required), so you can make the same kind of entries from the calendar - very convenient at times, in particular for long blocks. The basics of these new commands seem to work OK, but it is quite possible that I have not yet thought this through fully. Let me know what I am missing, so that we can tweak it.This is really cool! :) Thanks for implementing the block dates! I just tried it with anniversaries and get the following errorGNU Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11) of 2008-11-09on raven, modified by Debian Org-mode version 6.32trans (release_6.32b.142.g01b1) My version of org-mode has the clocking commit reverted Debugger entered--Lisp error: (void-function diary-date-display-form) (diary-date-display-form)(let ((calendar-date-display-form ...)) (insert (format "%%%%(diary- anniversary %s) %s" ... text))) (cond ((eq type ...) (or ... ...) (outline-next-heading) (org-back- over-empty-lines) (backward-char 1) (insert "\n") (let ... ...)) ((eq type ...) (require ...) (org-datetree-find-date-create d1) (org- agenda-insert-diary-make-new-entry text) (org-insert-time-stamp ...) (end-of-line 0)) ((eq type ...) (if ... ...) (require ...) (org- datetree-find-date-create d1) (org-agenda-insert-diary-make-new- entry text) (org-insert-time-stamp ...) (insert "--") (org-insert- time-stamp ...) (end-of-line 0))) (let ((cw ...)) (org-switch-to-buffer-other-window (find-file- noselect org-agenda-diary-file)) (widen) (goto-char (point-min)) (cond (... ... ... ... ... ... ...) (... ... ... ... ... ...) (... ... ... ... ... ... ... ... ...)) (if (string-match "\\S-" text) (progn ... ...) (message "Please finish entry here"))) org-agenda-add-entry-to-org-agenda-diary-file(anniversary "foobar" (10 13 2009)) (cond ((equal char 100) (setq text ...) (org-agenda-add-entry-to- org-agenda-diary-file ... text d1)) ((equal char 97) (setq d1 ...) (setq text ...) (org-agenda-add-entry-to-org-agenda-diary-file ... text d1)) ((equal char 98) (setq text ...) (org-agenda-add-entry-to- org-agenda-diary-file ... text d1 d2)) ((equal char 106) (org-switch- to-buffer-other-window ...) (org-datetree-find-date-create d1) (org- reveal t)) (t (error "Invalid selection character `%c'" char))) (let (d1 d2 char (text "")) (if (equal ... "*Calendar*") (setq d1 ... d2 ...) (setq d1 ... d2 ...)) (message "Diary entry: [d]ay [a]nniversary [b]lock [j]ump to date tree") (setq char (read-char- exclusive)) (cond (... ... ...) (... ... ... ...) (... ... ...) (... ... ... ...) (t ...)))org-agenda-diary-entry-in-org-file()(if (not (eq org-agenda-diary-file ...)) (org-agenda-diary-entry-in- org-file) (require (quote diary-lib)) (let* (... ... ... ... ...) (unless cmd ...) (unless ... ...) (let ... ...)))org-agenda-diary-entry() call-interactively(org-agenda-diary-entry) -Bernt
- Carsten
[Prev in Thread] | Current Thread | [Next in Thread] |