emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] %( in capture template


From: Samuel Wales
Subject: Re: [O] %( in capture template
Date: Sun, 19 Feb 2017 16:34:07 -0700

On 2/19/17, Nicolas Goaziou <address@hidden> wrote:
> I have trouble understanding the double quote above. Do you mean the
> text below is inserted within the %(concat ...) or are these your
> templates? In this case, which one produces the error?

thanks for asking about this.

for clarity, let's do it from the beginning.

[first please note that i am experiencing random results.  sometimes
it works fine but:

  1] sometimes nothing shows up
  2] sometimes as i will describe below
  3] sometimes nothing shows up, but "Warning (emacs): Please update
your org protocol handler to deal with new-style links." buffer pops
up

what i will describe is 2, which is the topic of this thread.]

just now i selected the first two paragraphs of the quote of your
email, and clicked the org-capture extension unicorn.

i use this function:

(defun alpha-org-protocol-string (link description region)
  (format "* x
           link %s
           description %s
           region %s
           " link description region))

the result of clicking on the unicorn:

===
***** x
           link
https://mail.google.com/mail/u/0/h/rfjkj7op114w/?&th=15a580ccf5cb9d34&v=c
           description Gmail - %( in capture template
           region
%(alpha-org-protocol-string
"https://mail.google.com/mail/u/0/h/rfjkj7op114w/?&th=15a580ccf5cb9d34&v=c";
"Gmail - %( in capture template" "> with the new org maint code, i
still occasionally get the literal string.
%(alpha-org-protocol-string
"https://mail.google.com/mail/u/0/h/rfjkj7op114w/?&th=15a580ccf5cb9d34&v=c";
"Gmail - %( in capture template" ">
%(alpha-org-protocol-string
"https://mail.google.com/mail/u/0/h/rfjkj7op114w/?&th=15a580ccf5cb9d34&v=c";
"Gmail - %( in capture template" "> it occurs when the region spans a
blank line.
===

region should be what i selected.  instead it is a garbled version of
what i selected with the literal function call text.  is this user
error?

the double quotes are as you see them.  i did not add any.

below are my templates.

  (add-to-list 'org-capture-templates
               `("L" "Protocol L for link" entry
                 (file+headline ,org-default-notes-file "xyzzy-remember")
                 ;; fixme perhaps i do not need the %i, if it is for no text
                 "%(alpha-org-protocol-string \"%:link\"
\"%:description\" \"%i\") L"
                 :prepend t :immediate-finish t :jump-to-captured t))
  ;; this seems to get called by org capture whether selection or not
  (add-to-list 'org-capture-templates
               `("p" "Protocol p" entry
                 (file+headline ,org-default-notes-file "xyzzy-remember")
                 "%(alpha-org-protocol-string \"%:link\"
\"%:description\" \"%i\")"
                 :prepend t :immediate-finish t :jump-to-captured t))

the org capture extension is set to p, so the second one should be the
operative one.  but what do i know?

so perhaps %i is being set to some crazy value.

i definitely do not understand any of this stuff.



reply via email to

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