emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Thomas Morgan <tlm@ziiuu.com>
To: Eric Schulte <schulte.eric@gmail.com>
Cc: "emacs-orgmode@gnu.org" <emacs-orgmode@gnu.org>,
	Rainer M Krug <r.m.krug@gmail.com>
Subject: Re: Adding source location information when tangling
Date: Sat, 07 Jun 2014 13:23:44 +0900	[thread overview]
Message-ID: <87wqcts5yn.fsf@azha.ziiuu.com> (raw)
In-Reply-To: <87d2emezan.fsf@gmail.com> (Eric Schulte's message of "Fri, 06 Jun 2014 12:24:07 -0400")

Eric Schulte <schulte.eric@gmail.com> writes:

> Thomas Morgan <tlm@ziiuu.com> writes:
>
>> Hi, Rainer, 
>>
>> Rainer M Krug <r.m.krug@gmail.com> writes:
>>
>>> Envoyé de mon iPhone
>>>
>>>> Le 25 mai 2014 à 18:28, Thomas Morgan <tlm@ziiuu.com> a écrit :
>>>> 
>>>> Dear Org hackers,
>>>> 
>>>> I have a question about tangling LilyPond code blocks.
>>>> 
>>>> Is there a way to put the commands `\sourcefilename' and
>>>> `\sourcefileline' in the tangled file before each block,
>>>> perhaps in place of the comment that includes the same information?
>>>
>>> Yes - Check out the header option concerning tangling with comment. So
>>> links are inserted as comments which contain information about the
>>> filename And the header from which it was tangled.
>>
>> Thank you; that option is certainly useful.  What I was looking for,
>> though, is a way to replace or supplement the comments with commands
>> that indicate the same information directly to the compiler or
>> interpreter (`\sourcefilename' and `\sourcefileline' for LilyPond,
>> `#line' for C, etc.).
>>
>
> Hi Thomas,
>
> I believe the `org-babel-tangle-comment-format-beg' and
> `org-babel-tangle-comment-format-end' variable should provide the
> functionality you desire.

Hi, Eric,

Thank you, though I'm afraid I'm still having trouble getting
the right result.  The closest I've come is with this setting:

  (setq org-babel-tangle-comment-format-beg
        "\\sourcefilename \"%file\"\n\\sourcefileline %start-line")

But this adds comment characters before the commands.

It also adds a blank line after the comment, throwing line numbers
off by one.  (Actually they are off by two; maybe LilyPond needs
\sourcefileline to be on the same line as the beginning of the code.)

By the way, I tried binding the variable this way in the Org file:

  #+BIND: org-babel-tangle-comment-format-beg "\\sourcefilename \"%file\"\n\\sourcefileline %start-line"

But that had no effect.

A further question: can this approach accommodate code blocks in
multiple languages in the same file?

Best,

Thomas

  reply	other threads:[~2014-06-07  4:24 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-25 16:28 Adding source location information when tangling Thomas Morgan
2014-05-27 16:23 ` Grant Rettke
2014-05-27 21:08 ` Rainer M Krug
2014-05-28 21:48   ` Thomas Morgan
2014-05-29 13:56     ` Rainer M Krug
2014-06-06 16:24     ` Eric Schulte
2014-06-07  4:23       ` Thomas Morgan [this message]
2014-06-07 15:28         ` Eric Schulte

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=87wqcts5yn.fsf@azha.ziiuu.com \
    --to=tlm@ziiuu.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=r.m.krug@gmail.com \
    --cc=schulte.eric@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).