Hi Nicolas,
it seems that org-store-link stored links to headlines as
[[*TODO headline][headline]]
keeping the TODO keyword, if any.
This is fixed in master but I won't if we should document this bug
fix in ORG-NEWS (or if org-store-link was just momentarily broken.)
If org-store-link was storing the todo keyword, perhaps we can add
a command similar to this one to help users fix broken links:
(defun org-fix-links ()
"Fix ill-formatted internal links.
E.g. replace [[*TODO Headline][headline]] by [[*Headline][headline]].
Go through the buffer and ask for the replacement."
(interactive)
(visible-mode 1)
(save-excursion
(goto-char (point-min))
(while (re-search-forward org-link-any-re nil t)
(let* ((raw (match-string 2))
(desc (match-string 3))
fix new)
(when (and raw desc
(string-match-p
(concat "^\*" (regexp-opt org-todo-keywords-1)
"\\s-+\\(.+\\)$")
raw))
(setq new (replace-regexp-in-string
(concat (regexp-opt org-todo-keywords-1) "\\s-+")
"" raw))
(set-text-properties 0 (length new) nil new)
(setq fix (completing-read "Replace link at point by: "
nil nil nil new))
(replace-match (format "[[%s][%s]]" fix desc))))))
(visible-mode -1))
WDYT?
--
Bastien