diff options
-rw-r--r-- | org-link-edit.el | 13 | ||||
-rw-r--r-- | test-org-link-edit.el | 15 |
2 files changed, 22 insertions, 6 deletions
diff --git a/org-link-edit.el b/org-link-edit.el index 6fa105a..193f8fa 100644 --- a/org-link-edit.el +++ b/org-link-edit.el @@ -373,17 +373,18 @@ END." (progn (goto-char pt) (org-link-edit--on-link-p))) (user-error "Cannot transport next link with point on a link")) - (goto-char (car desc-bounds)) - (cl-multiple-value-bind (link-beg link-end link desc) + (goto-char (or (car desc-bounds) pt)) + (cl-multiple-value-bind (link-beg link-end link orig-desc) (org-link-edit--next-link-data previous) - (unless (or (not desc-bounds) (= (length desc) 0)) + (unless (or (not desc-bounds) (= (length orig-desc) 0)) (user-error "Link already has a description")) (delete-region link-beg link-end) (insert (org-make-link-string link - (and desc-bounds - (delete-and-extract-region (car desc-bounds) - (cdr desc-bounds)))))))) + (if desc-bounds + (delete-and-extract-region (car desc-bounds) + (cdr desc-bounds)) + orig-desc)))))) (provide 'org-link-edit) ;;; org-link-edit.el ends here diff --git a/test-org-link-edit.el b/test-org-link-edit.el index 9f8a3bd..b88592d 100644 --- a/test-org-link-edit.el +++ b/test-org-link-edit.el @@ -545,6 +545,21 @@ website" (org-link-edit-transport-next-link 'previous (point) (point-max)) (buffer-string)))) + ;; Transport next link with point on whitespace. + (should + (string= "Here is\[\[http://orgmode.org/\]\] Org's website " + (org-test-with-temp-text + "Here is<point> Org's website http://orgmode.org/" + (org-link-edit-transport-next-link) + (buffer-string)))) + ;; Transported links are allow to have an existing description when + ;; point is on whitespace. + (should + (string= "Here is\[\[http://orgmode.org/\]\[descrption\]\] Org's website " + (org-test-with-temp-text + "Here is<point> Org's website \[\[http://orgmode.org/\]\[descrption\]\]" + (org-link-edit-transport-next-link) + (buffer-string)))) ;; Fail if point is on a link. (should-error (org-test-with-temp-text |