emacs-orgmode@gnu.org archives
help / color / mirror / code / Atom feed
* Problem when tangling source blocks with custom coderefs
@ 2022-01-18 22:20 Luis Osa
2022-01-19  1:33  Tom Gillespie
From: Luis Osa @ 2022-01-18 22:20 UTC (permalink / raw)
To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1408 bytes --]

Dear all,

I would like to tangle source code blocks that contain coderefs. I have
found that the coderefs are correctly filtered out from the tangled files
if they follow the default format, i.e. "(ref:%s)", but not if I try to
customize the format using the documented "-l" switch [1] to change them to
something else, e.g. "|%s|".

Here is an example:

#+begin_src python -r -l "|%s|" :tangle example.py
try:
sys.exit(app.run())
except:            |\label{line:except}\ding{182}|
sys.exit(1)
#+end_src

In line \ref{line:except}, marked \ding{182}, we are catching all
exceptions ...

After using org-babel-tangle, I would expect example.py to not have any
of the text between the || characters, but it is there and it makes the
file invalid to run.

I have found a thread in this mail list [2] where the coderef format used
during tangle is streamlined to use the function org-src-coderef-regexp.
That seems to be correct, but the behavior I am seeing does not recognize
the custom format correctly. Can someone please tell me if I am doing
something wrong? Or is that function not doing what it is intended to do?

I am running Org mode version 9.6 on top of GNU Emacs 27.2.

Thank you,
Luis

References:
[1] https://orgmode.org/manual/Literal-Examples.html
[2]
https://list.orgmode.org/CA+G3_PONzfmfB-UpUcE3jzPw5fVsbjzTeCCO4UkToa9NeUUU-w@mail.gmail.com/#R

[-- Attachment #2: Type: text/html, Size: 2124 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Problem when tangling source blocks with custom coderefs
2022-01-18 22:20 Problem when tangling source blocks with custom coderefs Luis Osa
@ 2022-01-19  1:33  Tom Gillespie
2022-01-19 21:00    Luis Osa
From: Tom Gillespie @ 2022-01-19  1:33 UTC (permalink / raw)
To: Luis Osa; +Cc: emacs-orgmode, Nicolas Goaziou

Hi Luis,
I don't think you are doing anything wrong. IIRC the portion of the
patch that allowed the customization to propagate to the tangled code
was not included. Given that I am no longer the only one who is
looking for/expecting this behavior, maybe it is worth revisiting the
decision. The simplest fix right now would be to prepend your coderef
with the python comment symbols # |hello| so that at the very least it
won't break your tangled files. I would like to see this implemented,
so let's see what Nicolas has to say. Best!
Tom

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Problem when tangling source blocks with custom coderefs
2022-01-19  1:33  Tom Gillespie
@ 2022-01-19 21:00    Luis Osa
0 siblings, 0 replies; 3+ messages in thread
From: Luis Osa @ 2022-01-19 21:00 UTC (permalink / raw)
To: Tom Gillespie; +Cc: emacs-orgmode, Nicolas Goaziou

[-- Attachment #1: Type: text/plain, Size: 701 bytes --]

Hi Tom,

The simplest fix right now would be to prepend your coderef
> with the python comment symbols # |hello| so that at the very least it
> won't break your tangled files.

Actually, that is exactly what I have done as a quick fix. It has a minor
inconvenience: anything else included on the line is colored as if it were
a comment in the final PDF, and I intended to add a symbol to mark the
reference. Not a big deal, but it looks different than intended.

I would like to see this implemented,
> so let's see what Nicolas has to say.

I would like to contribute something. Maybe a test to show what is the
behavior to expect. Thanks for your reassurance that this is not an error
on my side!

[-- Attachment #2: Type: text/html, Size: 1265 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-01-19 21:02 UTC | newest]

2022-01-19  1:33  Tom Gillespie

Code repositories for project(s) associated with this inbox:
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).`