[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
"Bad template" when creating org-capture for table-line without '|'
From: |
Rens Oliemans |
Subject: |
"Bad template" when creating org-capture for table-line without '|' |
Date: |
Wed, 27 Mar 2024 11:47:09 +0100 |
Hi,
I was trying to create an org-capture for a table-line type, and I noticed that
org-capture inserts the string "| Bad template |" when the template does not
start with
'|'. This could make sense, since a line is (only) considered part of a table
when it
starts with '|'.
However, I did not know that the _template_ also has to start with '|', and
org-capture
still inserts the string "| Bad template |", which does not suggest in any way
that the
lacking '|' would be the problem (after all, it is smart enough to prepend a
'|').
Use this template to reproduce the behaviour, present on 9.7-pre
(release_9.6.23-1318-g990b89):
(setq org-capture-templates '(("t" "Test" table-line (file "test.org")
"%^t")))
I did not see this documented anywhere: this was quite confusing, and the only
way I got a
hint at what I did wrong was to see the default template for table-line: "| %?
|". It
seems that this behaviour is intended, looking at org-capture.el:1358 @
990b89d3:
...
(pcase (org-trim (org-capture-get :template))
((pred (string-match-p org-table-border-regexp))
"| %?Bad template |")
(text (concat text "\n"))))
...
however, is this also what's ideal? I would suggest one of the following
alternatives:
- An error is signalled to the user with the root cause of the error: no '|' at
start of
template. In addition, the org-capture-templates variable documentation
string and the
manual would be updated. I am happy to create a patch for this.
- org-capture could pre- and suffix a '|' if the user did not supply it in
their template.
I am also happy to create a patch for this, however that would be my first so
such a
patch would perhaps have a few iterations ;)
What are your thoughts on this?
Best
- "Bad template" when creating org-capture for table-line without '|',
Rens Oliemans <=