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 <address@hidden>
+
+ * org.el (org-insert-link): respect org-link-file-path-type for
+ docview: links in addition to file: links.
+
2009-12-03 Carsten Dominik <address@hidden>
* 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.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode