From mboxrd@z Thu Jan 1 00:00:00 1970 From: Phil Hudson Subject: [PATCH 2/2] org-capture.el: Support all target file specifiction variants in Customize Date: Wed, 11 May 2016 23:13:56 +0100 Message-ID: <87vb2k450b.fsf@quiz.hudson-it.ddns.net> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48641) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0cN2-0007ir-25 for emacs-orgmode@gnu.org; Wed, 11 May 2016 18:12:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b0cMw-00032I-Tl for emacs-orgmode@gnu.org; Wed, 11 May 2016 18:12:42 -0400 Received: from mail-wm0-x244.google.com ([2a00:1450:400c:c09::244]:33317) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0cMv-00031i-DK for emacs-orgmode@gnu.org; Wed, 11 May 2016 18:12:38 -0400 Received: by mail-wm0-x244.google.com with SMTP id r12so12184132wme.0 for ; Wed, 11 May 2016 15:12:37 -0700 (PDT) Received: from quiz.hudson-it.ddns.net.quiz.hudson-it.ddns.net (82-71-5-38.dsl.in-addr.zen.co.uk. [82.71.5.38]) by smtp.gmail.com with ESMTPSA id d23sm10605105wmd.1.2016.05.11.15.12.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 May 2016 15:12:36 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org >From 9ca987e6580ef633c961bf2023813d8544a0d36b Mon Sep 17 00:00:00 2001 From: Phil Hudson Date: Wed, 11 May 2016 22:49:01 +0100 Subject: [PATCH 2/2] org-capture.el: Support all target file specifiction variants in Customize * lisp/org-capture.el (`org-capture-templates'): Adjust the `org-capture-templates' defcustom template to support specifying the capture target file using either a literal pathname, a function, a variable or a form, as documented. Previously the Customize UI supported specifying only a literal pathname. (org-capture-templates): Clarify the documentation for the 'function' method for setting up the capture target. * doc/org.texi (Template elements): Copy the clarification regarding 'function' from org-capture.el above to the relevant section in the manual. --- doc/org.texi | 4 ++-- lisp/org-capture.el | 58 +++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 49 insertions(+), 13 deletions(-) diff --git a/doc/org.texi b/doc/org.texi index 17b01c2..7a76744 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -7206,8 +7206,8 @@ A function to find the right location in the file. File to the entry that is currently being clocked. @item (function function-finding-location) -Most general way, write your own function to find both -file and location. +Most general way: write your own function which both visits the +file and sets point at the right location. @end table @item template diff --git a/lisp/org-capture.el b/lisp/org-capture.el index 34a6817..9842b13 100644 --- a/lisp/org-capture.el +++ b/lisp/org-capture.el @@ -166,8 +166,8 @@ target Specification of where the captured item should be placed. File to the entry that is currently being clocked (function function-finding-location) - Most general way, write your own function to find both - file and location + Most general way: write your own function which both visits the + file and sets point at the right location. template The template for creating the capture item. If you leave this empty, an appropriate default template will be used. See below @@ -316,38 +316,74 @@ you can escape ambiguous cases with a backward slash, e.g., \\%i." (choice :tag "Target location" (list :tag "File" (const :format "" file) - (file :tag " File")) + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form"))) (list :tag "ID" (const :format "" id) (string :tag " ID")) (list :tag "File & Headline" (const :format "" file+headline) - (file :tag " File ") + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form")) (string :tag " Headline")) (list :tag "File & Outline path" (const :format "" file+olp) - (file :tag " File ") + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form")) (repeat :tag "Outline path" :inline t (string :tag "Headline"))) (list :tag "File & Regexp" (const :format "" file+regexp) - (file :tag " File ") + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form")) (regexp :tag " Regexp")) (list :tag "File & Date tree" (const :format "" file+datetree) - (file :tag " File")) + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form"))) (list :tag "File & Date tree, prompt for date" (const :format "" file+datetree+prompt) - (file :tag " File")) + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form"))) (list :tag "File & Week tree" (const :format "" file+weektree) - (file :tag " File")) + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form"))) (list :tag "File & Week tree, prompt for date" (const :format "" file+weektree+prompt) - (file :tag " File")) + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form"))) (list :tag "File & function" (const :format "" file+function) - (file :tag " File ") + (choice :tag " Filename" + (file :tag " Literal") + (function :tag " Function") + (variable :tag " Variable") + (sexp :tag " Form")) (sexp :tag " Function")) (list :tag "Current clocking task" (const :format "" clock)) -- 2.8.0.rc3 -- Phil Hudson http://hudson-it.ddns.net @UWascalWabbit PGP/GnuPG ID: 0x887DCA63