thx Nicolas

really appreciate your answer! though im very week in coding so im struggling to understand. but perhaps an example will help. the following is a part of my capture:

(add-to-list 'org-capture-templates
'("ff" "Food"
entry
(file+headline (concat pmm "/org/files/agenda/food.org") "Inbox")
"* COOK %^{Recipe Name}      
:PROPERTIES:
:ID: %(org-id-uuid)
:Time: %^{minutes|-|10|15|30|60}
:Rating: %^{rating?|-|1|2|3|4|5}
:Source:  %x 
:Cuisine: %^{Cuisine?|-|Indian|Thai|Vietnamese|Asian|Chinese|Israeli|Italian|American|EastEuro|Mexican|French|Persian|Austrian}
:Type: %^{Type?|-|main|side|starter|sweets|drinks|sauce|breakfast}
:Main.ing:  %^{main.ing?|-|chicken|beef|potatos|fish|seafood|shrimp|rice|pasta|fruit}
:Serves: %^{Serves?|-|1|2|4|6|8}
:END:

%^{prompt|*** Ingredients}
%?
%^{prompt|*** Preparation}

"
"Capture Template for food recipe"
))


so do i need a separate  mapconcat #'number-to-string for each property value (time,type etc?)

and how dows the %s know which mapconcat command to refer to?

thx alot again

Z


On Tue, Apr 25, 2017 at 11:00 AM, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
Hello,

Xebar Saram <zeltakc@gmail.com> writes:

> kinda stuck with this and cant find any documentation. would also be glad
> to know its not possible so i can perhaps explore another method :)
>
> im basically wondering if instead of manually imputing string separated
> with | in the  : %^{} capture template i can provide a lisp way to send a
> pre defined list of strings ("a" "b" "c") etc.. anyone has any clue?

Since it is pre-defined, you can do the following during capture
definition

  (format "* Headline
  :PROPERTIES:
  :Time: %%^{minutes|-|%s}
  :Rating: %%^{rating?|-|%s}
  :END:"
          (mapconcat #'number-to-string '(10 15 30 60) "|")
          (mapconcat #'number-to-string '(1 2 3 4 5) "|"))

Can't you?

Regards,

--
Nicolas Goaziou