emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] [Accepted] [Orgmode, 2/2] org-store-link: Fix storing of links


From: Carsten Dominik
Subject: [Orgmode] [Accepted] [Orgmode, 2/2] org-store-link: Fix storing of links to headlines in indirect buffers
Date: Mon, 23 Aug 2010 12:14:41 +0200 (CEST)

Patch 238 (http://patchwork.newartisans.com/patch/238/) is now "Accepted".

Maintainer comment: none

This relates to the following submission:

http://mid.gmane.org/%3C8162z2tf8n.fsf_-_%40gmail.com%3E

Here is the original message containing the patch:

> Content-Type: text/plain; charset="utf-8"
> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Subject: [Orgmode,
>       2/2] org-store-link: Fix storing of links to headlines in indirect
>       buffers
> Date: Mon, 23 Aug 2010 04:11:20 -0000
> From: Jambunathan K <address@hidden>
> X-Patchwork-Id: 238
> Message-Id: <address@hidden>
> To: address@hidden
> Cc: 
> 
> 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
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]