This patch is also in the docview branch at: http://github.com/jboecker/org-docview
The function org-insert-link checks if it is inserting a "file:" link. If this is the case, the path is manipulated according to the current buffer file name and the variable 'org-link-file-path-type'. I changed the regex to also match "docview:" links, and added a variable to store the link type which is later re-attached to the path. I do not know if there is a more elegant way, but this works. Matthew: docview.el was missing from the Makefile because of my inexperience with Org development, but I see that Carsten has already fixed that one :) --- lisp/ChangeLog | 5 +++++ lisp/org.el | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f385b7c..a716042 100755 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-12-04 Jan Böcker <jan.boec...@jboecker.de> + + * org.el (org-insert-link): respect org-link-file-path-type for + docview: links in addition to file: links. + 2009-12-03 Carsten Dominik <carsten.domi...@gmail.com> * org-exp.el (org-export-format-source-code-or-example): Avoid diff --git a/lisp/org.el b/lisp/org.el index 664bafc..4f699c9 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -7976,8 +7976,9 @@ Use TAB to complete link prefixes, then RET for type-specific completion support (setq link search))))) ;; Check if we can/should use a relative path. If yes, simplify the link - (when (string-match "^file:\\(.*\\)" link) - (let* ((path (match-string 1 link)) + (when (string-match "^\\(file:\\|docview:\\)\\(.*\\)" link) + (let* ((type (match-string 1 link)) + (path (match-string 2 link)) (origpath path) (case-fold-search nil)) (cond @@ -7998,7 +7999,7 @@ Use TAB to complete link prefixes, then RET for type-specific completion support (setq path (substring (expand-file-name path) (match-end 0))) (setq path (abbreviate-file-name (expand-file-name path))))))) - (setq link (concat "file:" path)) + (setq link (concat type path)) (if (equal desc origpath) (setq desc path)))) -- 1.6.5.2 _______________________________________________ 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