From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Rose Subject: Re: New implementation of the Org remember process ready for comments and testing Date: Wed, 23 Jun 2010 01:07:00 +0200 Message-ID: <87aaqm8y5n.fsf@gmx.de> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from [140.186.70.92] (port=56031 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ORCYX-0004lv-5A for emacs-orgmode@gnu.org; Tue, 22 Jun 2010 19:07:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1ORCYT-0004sa-49 for emacs-orgmode@gnu.org; Tue, 22 Jun 2010 19:07:00 -0400 Received: from mail.gmx.net ([213.165.64.20]:33701) by eggs.gnu.org with smtp (Exim 4.69) (envelope-from ) id 1ORCYS-0004sR-NV for emacs-orgmode@gnu.org; Tue, 22 Jun 2010 19:06:57 -0400 In-Reply-To: (Carsten Dominik's message of "Tue, 22 Jun 2010 14:36:15 +0200") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Carsten Dominik Cc: Org Mode Carsten Dominik writes: > None of what I describe is set in stone yet - let me know if you have > comments, change requests or other ideas. > > My feeling right now is that this should become the default capture > system, and that we will keep the current org-remember in the > distribution for quite some time, for compatibility. * "C" as template key C-h v org-catpure-templates states: Do not use "C" as a key, it is reserved for customizing the template variable. I guess this is for the testing phase only? * Reuse input I would like to prompt for a value and use the input in several places. E.g. part of the last entry in my training diary looks like this: => --->8----------------------------->8----------------------------->8--- ***** DONE [2010-06-21 Mo] (run) 22761 5:52 :PROPERTIES: :date: [2010-06-21 Mo] :meters: 22761 :time: 02:13:32 :pace: 5:52 :start: 16:00 :type: lgDL :kcal: 1525 :rpuls: 42 :END: ******* Weather ... ******* Track ... where ... ******* Training ... splits, training contents ... ******* Comment ... feeling, health etc... <= ---8<-----------------------------8<-----------------------------8<--- As you can see, I use the "distance" and the "pace" in two places. One in the title for better overview, one as property for column view. But I'd like to enter it only once. * Separate template files I'd like to use Org-mode to edit templates. I'm trying this: (setq org-capture-templates ( `( ("l" "Lauf" entry (file+headline "notes/Laufen/Training.org" "Training") ,(org-file-contents "~/emacs/org/capture-templates/training.org") :empty-lines 1)))) But I get an error when calling `org-capture': Debugger entered--Lisp error: (wrong-type-argument listp "* DONE %u (%^{Type:}) %^{Distance:} x:xx :PROPERTIES: :date: %u :meters: :time: :pace: x:xx :start: :type: :kcal: xxx :rpuls: :END: %^{meters}p %^{start}p %^{time}p %^{type}p %x^{rpuls}p *** Wetter %? *** Strecke *** Trainingsinhalt *** Kommentar ") length(("l" "Lauf" entry (file+headline "notes/Laufen/Training.org" "Training") . "* DONE %u (%^{Type:}) %^{Distance:} x:xx\n :PROPERTIES:\n :date: %u\n :meters:\n :time:\n :pace: x:xx\n :start:\n :type:\n :kcal: xxx\n :rpuls:\n :END: %^{meters}p %^{start}p %^{time}p %^{type}p %x^{rpuls}p\n*** Wetter\n %?\n\n*** Strecke\n\n*** Trainingsinhalt\n\n*** Kommentar\n")) (= 2 (length (car tbl))) (and (= 2 (length ...)) (= (length ...) 1)) (cond ((and ... ...) (setq dkey ... ddesc ...) (pop tbl) (push dkey des-keys) (push dkey allowed-keys) (insert prefix "[" dkey "]" "..." " " ddesc "..." "\n") (setq re ...) (while ... ...)) ((= 2 ...)) (t (insert prefix "[" ... "]" " " ... "\n") (push ... allowed-keys) (pop tbl))) (while tbl (cond (... ... ... ... ... ... ... ...) (...) (t ... ... ...))) (while t (erase-buffer) (insert title "\n\n") (setq tbl table des-keys nil allowed-keys nil) (setq prefix (if current ... "")) (while tbl (cond ... ... ...)) (when specials (insert "-------------------------------------------------------------------------------\n") (let ... ...)) (push "" allowed-keys) (goto-char (point-min)) (if (not ...) (org-fit-window-to-buffer)) (message prompt) (setq pressed (char-to-string ...)) (while (not ...) (message "Invalid key `%s'" pressed) (sit-for 1) (message prompt) (setq pressed ...)) (if (equal pressed "") (error "Abort")) (if (assoc pressed specials) (throw ... ...)) (unless (member pressed des-keys) (throw ... ...)) (setq current (concat current pressed)) (setq table (mapcar ... table)) (setq table (remove nil table))) (catch (quote exit) (while t (erase-buffer) (insert title "\n\n") (setq tbl table des-keys nil allowed-keys nil) (setq prefix ...) (while tbl ...) (when specials ... ...) (push "" allowed-keys) (goto-char ...) (if ... ...) (message prompt) (setq pressed ...) (while ... ... ... ... ...) (if ... ...) (if ... ...) (unless ... ...) (setq current ...) (setq table ...) (setq table ...))) (save-window-excursion (org-switch-to-buffer-other-window "*Org Select*") (setq orig-table table) (catch (quote exit) (while t ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...))) (let (tbl orig-table dkey ddesc des-keys allowed-keys current prefix rtn) (save-window-excursion (org-switch-to-buffer-other-window "*Org Select*") (setq orig-table table) (catch ... ...)) (kill-buffer "*Org Select*") rtn) org-mks((("t" "Todo" entry (file+headline "organizer.org" "Eingang") "* TODO %^{Title} %^g\n Eingang: %U\n %a\n %i" :empty-lines 1) ("T" "Termin" entry (file+headline "organizer.org" "Eingang") "* TODO %^T %^{Title} %^g\n Eingang: %U\n %a\n %i" :empty-lines 1) ("l" "Lauf" entry (file+headline "notes/Laufen/Training.org" "Training") . "* DONE %u (%^{Type:}) %^{Distance:} x:xx\n :PROPERTIES:\n :date: %u\n :meters:\n :time:\n :pace: x:xx\n :start:\n :type:\n :kcal: xxx\n :rpuls:\n :END: %^{meters}p %^{start}p %^{time}p %^{type}p %x^{rpuls}p\n*** Wetter\n %?\n\n*** Strecke\n\n*** Trainingsinhalt\n\n*** Kommentar\n") ... Sebastian