Carsten Dominik <carsten.domi...@gmail.com> writes: > I think your analysis is correct. The bookmark-set function is always > called *after* the note has been inserted at the target location. So > even if it fails, the note should not disappear. > > Without a reproducible test case, it is difficult to do more here.
I was mistaken. It doesn't have to do with the bookmark function. It looks like org-refile-get-location was failing to handle the case where the refile entry was invalid. I was used to typing just the header name at the refile prompt and I didn't realize the file name was in parenthesis. Here is a quick fix to prevent the entry from being lost: --8<---------------cut here---------------start------------->8--- diff --git a/lisp/org.el b/lisp/org.el index 4876173..feb13db 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -9481,15 +9481,17 @@ See also `org-refile-use-outline-path' and `org-completion (if (equal (car org-refile-history) (nth 1 org-refile-history)) (pop org-refile-history))) pa) - (when (string-match "\\`\\(.*\\)/\\([^/]+\\)\\'" answ) - (setq parent (match-string 1 answ) - child (match-string 2 answ)) - (setq parent-target (or (assoc parent tbl) (assoc (concat parent "/") tbl) - (when (and parent-target - (or (eq new-nodes t) - (and (eq new-nodes 'confirm) - (y-or-n-p (format "Create new node \"%s\"? " child)))) - (org-refile-new-child parent-target child)))))) + (if (string-match "\\`\\(.*\\)/\\([^/]+\\)\\'" answ) + (progn + (setq parent (match-string 1 answ) + child (match-string 2 answ)) + (setq parent-target (or (assoc parent tbl) (assoc (concat parent "/") + (when (and parent-target + (or (eq new-nodes t) + (and (eq new-nodes 'confirm) + (y-or-n-p (format "Create new node \"%s\"? " child + (org-refile-new-child parent-target child))) + (error "Invalid location."))))) (defun org-refile-new-child (parent-target child) "Use refile target PARENT-TARGET to add new CHILD below it." --8<---------------cut here---------------end--------------->8--- A better solution would be to do a tab completion when trying to enter an invalid entry, but this is beyond my current knowledge of elisp. Regards, Jason _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode