summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Guerry <bzg@altern.org>2012-09-22 09:20:14 +0200
committerBastien Guerry <bzg@altern.org>2012-09-22 09:20:14 +0200
commit1aa21dc70d92b4208ff2998e429febacf615bd88 (patch)
tree08704067815ec3475fee7229d8dadd2182c322e5
parent50837906ec25996d9d26aeb402ace90b85014159 (diff)
downloadorg-mode-1aa21dc70d92b4208ff2998e429febacf615bd88.tar.gz
contrib/lisp/org-wikinodes.el: Fixes
* org-wikinodes.el (org-wikinodes-follow-link): Specify the directory when trying to find a target. (org-wikinodes-which-file): Rewrite.
-rw-r--r--contrib/lisp/org-wikinodes.el17
1 files changed, 10 insertions, 7 deletions
diff --git a/contrib/lisp/org-wikinodes.el b/contrib/lisp/org-wikinodes.el
index 12091b6..bdc3e34 100644
--- a/contrib/lisp/org-wikinodes.el
+++ b/contrib/lisp/org-wikinodes.el
@@ -121,7 +121,8 @@ setting of `org-wikinodes-create-targets'."
(setq pos
(or (org-find-exact-headline-in-buffer target (current-buffer))
(and (eq org-wikinodes-scope 'directory)
- (setq file (org-wikinodes-which-file target))
+ (setq file (org-wikinodes-which-file
+ target (file-name-directory (buffer-file-name))))
(org-find-exact-headline-in-buffer
target (or (get-file-buffer file)
(find-file-noselect file))))))
@@ -238,12 +239,14 @@ setting of `org-wikinodes-create-targets'."
(defun org-wikinodes-which-file (target &optional directory)
"Return the file for wiki headline TARGET DIRECTORY.
If there is no such wiki target, return nil."
- (setq directory (expand-file-name (or directory default-directory)))
- (unless (assoc directory org-wikinodes-directory-targets-cache)
- (push (cons directory (org-wikinodes-get-links-for-directory directory))
- org-wikinodes-directory-targets-cache))
- (cdr (assoc target (cdr (assoc directory
- org-wikinodes-directory-targets-cache)))))
+ (let* ((directory (expand-file-name (or directory default-directory)))
+ (founddir (assoc directory org-wikinodes-directory-targets-cache))
+ (foundfile (cdr (assoc target (cdr founddir)))))
+ (or foundfile
+ (and (push (cons directory (org-wikinodes-get-links-for-directory directory))
+ org-wikinodes-directory-targets-cache)
+ (cdr (assoc target (cdr (assoc directory
+ org-wikinodes-directory-targets-cache))))))))
;;; Exporting Wiki links