[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] [PATCH 2/2] org-store-link: Fix storing of links to headlines
From: |
Jambunathan K |
Subject: |
[Orgmode] [PATCH 2/2] org-store-link: Fix storing of links to headlines in indirect buffers |
Date: |
Mon, 23 Aug 2010 04:41:20 +0530 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (windows-nt) |
Summary:
When org-store-link is invoked on a headline in indirect buffer (as in a
capture buffer), hyperlink gets created to the file and NOT the
headline. This is a bug.
The attached patch fixes this.
Setup:
# ~/.emacs
(defun my-conversation-id ()
(interactive)
(remove-hook 'org-capture-before-finalize-hook 'my-conversation-id)
(let ((org-link-to-org-use-id t))
(call-interactively 'org-store-link)
)
)
# org-capture-templates
("x" "Conversations" entry
(file+headline "~/conversation.org" "Conversations")
"%(progn (add-hook 'org-capture-before-finalize-hook 'my-conversation-id)
\"\")** Note taken on %U\n %? " :prepend t :empty-lines 1)
Steps for reproduction:
Trigger org-capture for the above capture entry.
Examine conversation.org before/after the patch is applied. Note the
absence/presence of IDs for the captured entry.
Check for the stored links using C-c C-l. Note the file/headline links.
# file conversation.org before and after the patch
* Conversations
** Note taken on [2010-08-23 Mon 04:33]
:PROPERTIES:
:ID: 7e1974a6-8fa1-43cf-bef3-2adf37d99130
:END:
** Note taken on [2010-08-23 Mon 04:32]
# (org-insert-link) showing stored links before and after the patch
file:~/conversation.org (file:~/conversation.org)
id:7e1974a6-8fa1-43cf-bef3-2adf37d99130 (Note taken on [2010-08-23 Mon 04:33])
Jambunathan K.
>From 90628b45ee4d270b32f8a56618ca75ceb4a16b21 Mon Sep 17 00:00:00 2001
From: Jambunathan K <address@hidden>
Date: Mon, 23 Aug 2010 02:32:15 +0530
Subject: [PATCH 2/2] org-store-link: Fix storing of links to headlines in
indirect buffers
* org.el (org-store-link): Storing of links to headlines in indirect
buffers was broken. Fix it.
TINYCHANGE
---
lisp/org.el | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index 5db7aab..15379ef 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -8301,13 +8301,14 @@ For file links, arg negates
`org-context-in-file-links'."
(setq cpltxt (concat "file:" file)
link (org-make-link cpltxt))))
- ((and buffer-file-name (org-mode-p))
+ ((and (buffer-file-name (buffer-base-buffer)) (org-mode-p))
(setq custom-id (ignore-errors (org-entry-get nil "CUSTOM_ID")))
(cond
((org-in-regexp "<<\\(.*?\\)>>")
(setq cpltxt
(concat "file:"
- (abbreviate-file-name buffer-file-name)
+ (abbreviate-file-name
+ (buffer-file-name (buffer-base-buffer)))
"::" (match-string 1))
link (org-make-link cpltxt)))
((and (featurep 'org-id)
@@ -8329,11 +8330,13 @@ For file links, arg negates
`org-context-in-file-links'."
(error
;; probably before first headline, link to file only
(concat "file:"
- (abbreviate-file-name buffer-file-name))))))
+ (abbreviate-file-name
+ (buffer-file-name (buffer-base-buffer))))))))
(t
;; Just link to current headline
(setq cpltxt (concat "file:"
- (abbreviate-file-name buffer-file-name)))
+ (abbreviate-file-name
+ (buffer-file-name (buffer-base-buffer)))))
;; Add a context search string
(when (org-xor org-context-in-file-links arg)
(setq txt (cond
--
1.7.0.4
- [Orgmode] Re: feature request: a basic conversation manager, Jambunathan K, 2010/08/18
- Re: [Orgmode] Re: feature request: a basic conversation manager, Eric S Fraga, 2010/08/18
- [Orgmode] [PATCH 1/2] org-store-link: Return link when invoked from within agenda buffer, Jambunathan K, 2010/08/22
- [Orgmode] [PATCH 2/2] org-store-link: Fix storing of links to headlines in indirect buffers,
Jambunathan K <=
- [Orgmode] [PATCH 1/2] org-store-link: Return link when invoked from within agenda buffer, Jambunathan K, 2010/08/22
- [Orgmode] [PATCH 1/2] org-store-link: Return link when invoked from within agenda buffer, Jambunathan K, 2010/08/22
- [Orgmode] Re: feature request: a basic conversation manager, Samuel Wales, 2010/08/28