emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Brian van den Broek <brian.van.den.broek@gmail.com>
To: John Hendy <jw.hendy@gmail.com>
Cc: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: internal links not being followed; instead, offer to create new heading
Date: Sun, 10 Feb 2013 17:28:28 -0500	[thread overview]
Message-ID: <CAF6Daj+9wd2n0HdrRUsvr2BdJT9Or+5YJrNrz2VQqetGWHcyfA@mail.gmail.com> (raw)
In-Reply-To: <CA+M2ft8Bn3FEYr47XpNs1aEqRktr7tfUVTJJVaWuWrym572s6Q@mail.gmail.com>

On 10 February 2013 16:21, John Hendy <jw.hendy@gmail.com> wrote:
> On Sun, Feb 10, 2013 at 12:53 PM, Brian van den Broek
> <brian.van.den.broek@gmail.com> wrote:
>> Hi all,
>>
>> I am having trouble with following internal org links. After carefully
>> reading the documentation (especially 4.2 Internal Links
>> <http://orgmode.org/org.html#Internal-links>) with the following
>> test.org file, I would expect that C-c C-o on the link text in the bar
>> tree would jump to the corresponding text in the foo tree.
>
> I'd never heard of being able to do this, so I read the documentation
> as well and this how I parsed it:
>
> - Is link text a URL?
>   - If yes -> open url
>   - If no, check current file
>
> - Is link text a custom ID?
>   - If yes -> go to headline with matching ID
>   - If no, check for custom target
>
> - Is there a match between [[link text]] and an occurrence of <<link
> text>> (dedicated target)?
>   - If yes -> go to the dedicated target location
>   - If no, check file type
>
> - Is this a .org file?
>   - If yes, check for a *headline* (or possibly keywords/tags)
> matching the [[link text]] [1]
>   - If no, conduct a string search for the [[link text]]
>
> [1] Quote: "If no dedicated target exists, Org will search for a
> headline that is exactly the link text but may also include a TODO
> keyword and tags"

<snip>

> 1) The documentation is incorrect (maybe), or
> 2) I don't know how to do C-c C-o provided by Org in a non-org file
> correctly (more probable)
>

<snip>


Hi John,

Thanks for the reply.

This prodded me to investigate more thoroughly (and to learn how to
use git bisect). I had observed that org 6.33 behaved as I expected
from looking at the documentation.

Bisecting led to:

commit a84c8a2cba8c510acfa0c14487f6c993f664a406
Author: Carsten Dominik <carsten.dominik@gmail.com>
Date:   Fri Aug 6 08:34:33 2010 +0200

    Make internal links in Org files search for an exact headline match

    * lisp/org.el (org-link-search-must-match-exact-headline): New option.
    (org-link-search-inhibit-query): New variable.
    (org-link-search): Search for exact headline match in Org files
    * doc/org.texi (Internal links): Document the changes in internal links.

    Internal links used to do a fuzzy text search for the link text.  This
    patch changes the behavior for Org files.  Here a link [[My Target]]
    now searches for an exact headline match, i.e. for a headline that
    does look like "* My Target", optionally with TODO keyword, priority
    cookie and tags.

    The new option `org-link-search-must-match-exact-headline' is
    `query-to-create' by default.  This means that a failed link search
    will offer to create the headline as a top-level headline at the end
    of the buffer.  This corresponds to a wiki-like behavior where missing
    targets are automatically created.  If you do not like this behavior,
    change the option to t.


The commit alters the docs, evidently intending them to be read as you
(John) read them. I'd argue that this wasn't entirely pulled off, as
the passage "Links such as ‘[[My Target]]’ or ‘[[My Target][Find my
target]]’ lead to a text search in the current file" combined with my
memory of how org used to work gave me a different expectation.

At any rate, to my cursory testing,

(setq org-link-search-must-match-exact-headline nil)

in my .emacs appears to make org behave as I expect it to.

Thanks and best,

Brian vdB

  reply	other threads:[~2013-02-10 22:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-10 18:53 internal links not being followed; instead, offer to create new heading Brian van den Broek
2013-02-10 21:21 ` John Hendy
2013-02-10 22:28   ` Brian van den Broek [this message]
2013-02-10 22:38     ` John Hendy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAF6Daj+9wd2n0HdrRUsvr2BdJT9Or+5YJrNrz2VQqetGWHcyfA@mail.gmail.com \
    --to=brian.van.den.broek@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=jw.hendy@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).