Re: [Orgmode] [PATCH] respect org-link-file-path-type when inserting docview: links

2009-12-09 Thread Carsten Dominik

Hi Jan,

thanks for the fix, I have applied it.

- Carsten

On Dec 4, 2009, at 12:22 PM, Jan Böcker wrote:


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


- Carsten





___
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


[Orgmode] [PATCH] respect org-link-file-path-type when inserting docview: links

2009-12-04 Thread Jan Böcker
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