emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Ihor Radchenko <yantar92@posteo.net>
To: Dan Drake <dan.drake@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: inconsistency links and code line labels
Date: Fri, 07 Jul 2023 09:48:19 +0000	[thread overview]
Message-ID: <877crcxdb0.fsf@localhost> (raw)
In-Reply-To: <CAKqbAeEpzFarKhyo_z0eMFzZRN=TQpct5doQfCw2RO_t5Rzp+g@mail.gmail.com>

Dan Drake <dan.drake@gmail.com> writes:

> Hello -- I'm wondering about my question from here:
>
> https://emacs.stackexchange.com/questions/77768/why-the-inconsistency-with-org-mode-code-line-labels-and-links
>
> Copying my question: in a source code special block, I can add code line
> labels, which have ref: in the label -- but when I make a link there, I
> have to omit the ref:. For example:
> ...
> 1047     bar = 5; //  (ref:my-code-line-label)
> ...
> There's a bug [[(my-code-line-label)][right here]].
>
> This seems inconsistent. Why do I have to omit the ref: bit? This always
> confuses me; it seems like it would be simpler to just make the label and
> the links to that line of code be exactly the same. I don't see any
> particular reference to this in the org manual (
> https://orgmode.org/manual/Internal-Links.html). Any insights?

The way coderefs appear in the code are completely configurable using
org-coderef-label-format ("(ref:%s)" by default) and using -l src code
switch.

> My idea would be to get rid of the special behavior for code line labels
> and just make this work with dedicated targets: in regular parts of my org
> file, I use <<link-target>> and can make links to that. It would be simple
> and consistent to make that also work the same when <<link-target>> is
> inside a code block.

If you examine 12.6 Literal Examples section of Org manual, you will see
that coderef links are exported specially:

       In literal examples, Org interprets strings like ‘(ref:name)’ as
    labels, and use them as targets for special hyperlinks like
    ‘[[(name)]]’—i.e., the reference name enclosed in single parenthesis.
    In HTML, hovering the mouse over such a link remote-highlights the
    corresponding code line, which is kind of cool.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


  parent reply	other threads:[~2023-07-07  9:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-06 12:49 inconsistency links and code line labels Dan Drake
2023-07-07  5:57 ` gerard.vermeulen
2023-07-07  9:48 ` Ihor Radchenko [this message]
2023-07-08 22:24   ` Dan Drake

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=877crcxdb0.fsf@localhost \
    --to=yantar92@posteo.net \
    --cc=dan.drake@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /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).