emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Adding Easy Templates


From: Carsten Dominik
Subject: Re: [O] Adding Easy Templates
Date: Wed, 23 May 2012 15:35:23 +0200

On May 23, 2012, at 3:28 PM, Carsten Dominik wrote:

> Hi Daniel,
> 
> you need to quote the entire form, i.e. the progn;
> 
> (eval-after-load 'org
>   '(progn
>     (add-to-list 'org-structure-template-alist
>                  '("m" "#+begin_src emacs-lisp\n?\n#+end_src"))
>     (add-to-list 'org-structure-template-alist
>                  '("j" 
> "#+begin_quote\n||Dr|Cr|\n|-\n|?|$||\n|||$|\n#+end_quote"))))
> 
> This is because the entire form is stored for execution after loading org - 
> but in your case it was
> evaluated immediately...

....

so what happens is that the result of the second add-to-list command (that 
result is the extended list) is stored and then evaluated after org.el is 
loaded.  So at that point in time, Emacs tries to evaluate


    (("j" ......

Which is of cause not valid because the first element in that list `("j" ...' 
is not a function.

- Carsten


> 
> - Carsten
> 
> On May 23, 2012, at 3:10 PM, Daniel E. Doherty wrote:
> 
>> All,
>> 
>> I really like the Easy Template facility, and would like to add some of
>> my own.  However, I am having trouble with the elisp syntax.  I would
>> like to add a couple in my init file, but am having no luck.  Here is
>> what I have now:
>> =========================
>> (eval-after-load 'org
>>   (progn
>>     (add-to-list 'org-structure-template-alist
>>                  (list '("m" "#+begin_src emacs-lisp\n?\n#+end_src")))
>>     (add-to-list 'org-structure-template-alist
>>                  (list '("j" 
>> "#+begin_quote\n||Dr|Cr|\n|-\n|?|$||\n|||$|\n#+end_quote")))))
>> =========================
>> Which yeilds:
>> =========================
>> Debugger entered--Lisp error: (invalid-function (("j" "#+begin_quote
>> ||Dr|Cr|
>> |-
>> |?|$||
>> |||$|
>> #+end_quote")))
>> =========================
>> 
>> 
>> I have also tried this:
>> =========================
>> (eval-after-load 'org
>>   (progn
>>     (add-to-list 'org-structure-template-alist
>>                  '("m" "#+begin_src emacs-lisp\n?\n#+end_src"))
>>     (add-to-list 'org-structure-template-alist
>>                  '("j" 
>> "#+begin_quote\n||Dr|Cr|\n|-\n|?|$||\n|||$|\n#+end_quote"))))
>> =========================
>> Which spits out a similar error.  I am quoting the list, so I don't
>> understand why elisp is interpteting it as a function.  In the first
>> case, I even quote it twice.
>> 
>> Any help?
>> 
>> Thanks.
>> 
>> Dan Doherty
>> 
> 
> - Carsten
> 
> 
> 

- Carsten






reply via email to

[Prev in Thread] Current Thread [Next in Thread]