Re: [O] Capture Bug?

2016-09-22 Thread Ian Barton
On Wed, Sep 21, 2016 at 10:51:46PM +0200, Nicolas Goaziou wrote:
> Hello,
>
> li...@wilkesley.net writes:
>
> > commit 5485170263a46fa17db67b0324c4c4e48bcdfe49
> > Author: Nicolas Goaziou 
> > Date:   Fri Jun 24 01:11:49 2016 +0200
> >
> > org-capture: Remove forbidden value type from "file" templates
> >
> Try wrapping `capture-pelican-draft-file' call within a function instead
> of putting a raw sexp.
>

I have tried:

("g"
   "New blog post (ianbarton.net)"
  plain
 (file (funcall(capture-pelican-draft-file
   "~/Documents/emacs/web_sites/ianbarton.net/org/_posts")))
  "#+AUTHOR: Ian Barton\n#+DATE: %u\n#+PROPERTY: MODIFIED:
   \n#+TITLE\n#+CATEGORY: Blog \n#+PROPERTY: TAGS \n#+PROPERTY:
   SUMMARY \n#+SETUPFILE: ../setup.org\n\n")

Not sure if that's what you meant. It didn't work.

--
Best wishes,

Ian.



Re: [O] Capture Bug?

2016-09-21 Thread Adam Porter
Nick Dokos  writes:

> That's not going to work: unquoting[fn:1] evaluates the unquoted
> element during the setting of org-capture-templates. That would have
> the effect of evaluating the function call when the setq is evaluated,
> whereas the intent here is to evaluate the function call *much* later,
> when the capture is initiated.

Yes, I think you're right. Thanks, Nick.  :)




Re: [O] Capture Bug?

2016-09-21 Thread Nick Dokos
Adam Porter  writes:

> li...@wilkesley.net writes:
>
>> I have a capture template which prompts for a file name and uses this
>> to create a filename with a datestamp:
>>
>> (defun capture-pelican-draft-file (path)
>>   (let ((name (read-string "Name: ")))
>> (expand-file-name (format "%s-%s.org"
>>   (format-time-string "%Y-%m-%d")
>>   name) path)))
>>
>>
>> ("g"
>>"New blog post (ianbarton.net)"
>>plain
>>(file (capture-pelican-draft-file
>> "~/Documents/emacs/web_sites/ianbarton.net/org/_posts"))
>>"#+AUTHOR: Ian Barton\n#+DATE: %u\n#+PROPERTY: MODIFIED:
>> \n#+TITLE\n#+CATEGORY: Blog \n#+PROPERTY: TAGS \n#+PROPERTY: SUMMARY
>> \n#+SETUPFILE: ../setup.org\n\n")
>
> Are you using custom-set-variables to set org-capture-templates?  If
> not, I think you need to unquote capture-pelican-draft-file.

That's not going to work: unquoting[fn:1] evaluates the unquoted
element during the setting of org-capture-templates. That would have
the effect of evaluating the function call when the setq is evaluated,
whereas the intent here is to evaluate the function call *much* later,
when the capture is initiated.


* Footnotes

[fn:1]  ... by which I hope I mean the same thing you do:
using backquote instead of quote in front of the  in

(setq org-capture-templates )

and then using , to unquote some internal elements, allowing their
evaluation and therefore replacing them with the results of the
evaluation in the binding of org-capture-templates.

-- 
Nick




Re: [O] Capture Bug?

2016-09-21 Thread Nicolas Goaziou
Hello,

li...@wilkesley.net writes:

> commit 5485170263a46fa17db67b0324c4c4e48bcdfe49
> Author: Nicolas Goaziou 
> Date:   Fri Jun 24 01:11:49 2016 +0200
>
> org-capture: Remove forbidden value type from "file" templates
>
Try wrapping `capture-pelican-draft-file' call within a function instead
of putting a raw sexp.

Regards,

-- 
Nicolas Goaziou



Re: [O] Capture Bug?

2016-09-21 Thread Adam Porter
li...@wilkesley.net writes:

> the previous commit looks as though it
> might have been the one responsible:
>
> commit 5485170263a46fa17db67b0324c4c4e48bcdfe49
> Author: Nicolas Goaziou 
> Date:   Fri Jun 24 01:11:49 2016 +0200
>
> org-capture: Remove forbidden value type from "file" templates

That definitely sounds relevant!

> I'll try unquoting capture-pelican-draft-file.

Let me know if it works.  I still often get confused when dealing with
quoting and unquoting and...




Re: [O] Capture Bug?

2016-09-21 Thread lists

On 2016-09-21 12:54, Adam Porter wrote:

li...@wilkesley.net writes:


I have a capture template which prompts for a file name and uses this
to create a filename with a datestamp:

(defun capture-pelican-draft-file (path)
  (let ((name (read-string "Name: ")))
(expand-file-name (format "%s-%s.org"
  (format-time-string "%Y-%m-%d")
  name) path)))


("g"
   "New blog post (ianbarton.net)"
   plain
   (file (capture-pelican-draft-file
"~/Documents/emacs/web_sites/ianbarton.net/org/_posts"))
   "#+AUTHOR: Ian Barton\n#+DATE: %u\n#+PROPERTY: MODIFIED:
\n#+TITLE\n#+CATEGORY: Blog \n#+PROPERTY: TAGS \n#+PROPERTY: SUMMARY
\n#+SETUPFILE: ../setup.org\n\n")


Are you using custom-set-variables to set org-capture-templates?  If
not, I think you need to unquote capture-pelican-draft-file.


On the current git master the function capture-pelican-draft-file

doesn't seem to be evaluated, resulting in a "File name doesn't exist"
error. Doing git bisect seems to point at the commit below:

8860c92f62dac87267416708e81bc8aec026fcc7 is the first bad commit
commit 8860c92f62dac87267416708e81bc8aec026fcc7
Author: Nicolas Goaziou 
Date:   Fri Jun 24 00:55:03 2016 +0200


That commit is about org-babel, which I don't think should have 
anything

to do with org-capture.  But you said you bisected it, so you mean that
before that commit, your code works as-is?


Thanks, I'll redo my bisect. I was being harassed by the dog, so might 
have made a mistake! However, the previous commit looks as though it 
might have been the one responsible:


commit 5485170263a46fa17db67b0324c4c4e48bcdfe49
Author: Nicolas Goaziou 
Date:   Fri Jun 24 01:11:49 2016 +0200

org-capture: Remove forbidden value type from "file" templates

I'll try unquoting capture-pelican-draft-file.

Ian.



Re: [O] Capture Bug?

2016-09-21 Thread Adam Porter
li...@wilkesley.net writes:

> I have a capture template which prompts for a file name and uses this
> to create a filename with a datestamp:
>
> (defun capture-pelican-draft-file (path)
>   (let ((name (read-string "Name: ")))
> (expand-file-name (format "%s-%s.org"
>   (format-time-string "%Y-%m-%d")
>   name) path)))
>
>
> ("g"
>"New blog post (ianbarton.net)"
>plain
>(file (capture-pelican-draft-file
> "~/Documents/emacs/web_sites/ianbarton.net/org/_posts"))
>"#+AUTHOR: Ian Barton\n#+DATE: %u\n#+PROPERTY: MODIFIED:
> \n#+TITLE\n#+CATEGORY: Blog \n#+PROPERTY: TAGS \n#+PROPERTY: SUMMARY
> \n#+SETUPFILE: ../setup.org\n\n")

Are you using custom-set-variables to set org-capture-templates?  If
not, I think you need to unquote capture-pelican-draft-file.

>> On the current git master the function capture-pelican-draft-file
> doesn't seem to be evaluated, resulting in a "File name doesn't exist"
> error. Doing git bisect seems to point at the commit below:
>
> 8860c92f62dac87267416708e81bc8aec026fcc7 is the first bad commit
> commit 8860c92f62dac87267416708e81bc8aec026fcc7
> Author: Nicolas Goaziou 
> Date:   Fri Jun 24 00:55:03 2016 +0200

That commit is about org-babel, which I don't think should have anything
to do with org-capture.  But you said you bisected it, so you mean that
before that commit, your code works as-is?




[O] Capture Bug?

2016-09-21 Thread lists
I have a capture template which prompts for a file name and uses this to 
create a filename with a datestamp:


(defun capture-pelican-draft-file (path)
  (let ((name (read-string "Name: ")))
(expand-file-name (format "%s-%s.org"
  (format-time-string "%Y-%m-%d")
  name) path)))


("g"
   "New blog post (ianbarton.net)"
   plain
   (file (capture-pelican-draft-file  
"~/Documents/emacs/web_sites/ianbarton.net/org/_posts"))
   "#+AUTHOR: Ian Barton\n#+DATE: %u\n#+PROPERTY: MODIFIED: 
\n#+TITLE\n#+CATEGORY: Blog \n#+PROPERTY: TAGS \n#+PROPERTY: SUMMARY 
\n#+SETUPFILE: ../setup.org\n\n")



On the current git master the function capture-pelican-draft-file 
doesn't seem to be evaluated, resulting in a "File name doesn't exist" 
error. Doing git bisect seems to point at the commit below:


8860c92f62dac87267416708e81bc8aec026fcc7 is the first bad commit
commit 8860c92f62dac87267416708e81bc8aec026fcc7
Author: Nicolas Goaziou 
Date:   Fri Jun 24 00:55:03 2016 +0200

ob-exp: Small fix

* lisp/ob-exp.el (org-babel-exp-src-block): Use `symbol-name' 
instead of

  `eval' since the argument is a dynamically scoped variable anyhow.

Ian.