Org-mode version: 6.27a
I configured org-remember-templates to use a file named "project.todo" to hold todo entries for me.
(setq org-remember-templates
("Project" ?p "* TODO %?\n %u" "~/org/project.todo" bottom )))
I hadn't added the .todo extension to the auto-mode-alist so when
it was loaded to be written to by the org-remember-handler, it came up
by default in fundamental-mode, not org-mode.
This generates an error condition that I tracked down in the org-remember.el file to line 887 in the org-remember-handler function:
((not (org-mode-p))
(if (eq heading 'top)
(goto-char (point-min))
(goto-char (point-max))
(or (bolp) (newline)))
(insert text-before-node-creation)
.......
The
error is that text-before-node-creation apparently is a nil and the
insert routine is generating an error because of it. This variable is
set earlier in the handler at around line 845 but only if the text
being inserted does not look like an org-outline-regexp:
(unless (looking-at org-outline-regexp)
;; add a headline
(setq text-before-node-creation (buffer-string))
Because
my template actually does look like an org-outline-regexp (it starts
with "* TODO"), that variable is never set and because the buffer is
not in org-mode, this code is triggered using the
text-buffer-node-creation.
The simple work around was to add .todo files to the
auto-mode-alist (or I could have changed the template), but I thought I
would post a note about it.
Jere