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