Hello: Suvayu:

I have set the variable custom-file outside of the init file to ~/org/custom-local.el or some such, so there wouldn't be a conflict within the same file.  I can delay loading of that file until after the hand-made capture templates have been loaded from ~/org/capture-templates.el .   

Alternately, one could load the custom-file first, then the other.  What I am thinking/hoping/dreaming is that one could add to the capture-templates variable, in the same way one adds to, say "load-path" by saying

   (setq load-path (append load-path (list "/home/olaf/Emacs")))

I have noticed the message from within the customization interface that some variable or another was set outside of customization, and there may be unpredictable results.  Wonder what that really means, though.   It's still a variable, isn't it? 

Alan

On Tue, Mar 8, 2011 at 3:39 PM, Suvayu Ali <fatkasuvayu+linux@gmail.com> wrote:
On Tue, 8 Mar 2011 12:17:58 +1000
"Alan E. Davis" <lngndvs@gmail.com> wrote:

> I would like to request advice, on how can I set up so most of my
> capture templates are loaded from a file (~/org/capture-templates.el
> in my case) and still retain the ability to define new capture
> templates on the fly.  I want the best of both worlds:

Sorry, can't be done. The customize interface stores the
(custom-set-variables ... ) block in the init file. Having more than
one such code block might lead to unpredictable Emacs behaviour. Your
only two choices are:

1. Use customize. Then your capture templates are stored with your other
  emacs customisations in your init file (e.g. ~/.emacs,
  ~/.emacs.d/init.el or whatever).

2. Use setq to define your templates outside of customize. If you choose
  this, you lose the ability to define templates using customize and
  save it. You can still however save a template temporarily `C-c C-c'.

I hope this answers your query.

--
Suvayu

Open source is the future. It sets us free.