* Adding source location information when tangling
@ 2014-05-25 16:28 Thomas Morgan
2014-05-27 16:23 ` Grant Rettke
2014-05-27 21:08 ` Rainer M Krug
0 siblings, 2 replies; 8+ messages in thread
From: Thomas Morgan @ 2014-05-25 16:28 UTC (permalink / raw
To: emacs-orgmode
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?
(These commands are equivalent to the `#line LINENUM "FILE"'
directive in C.) If possible I'd like to let LilyPond know how
to give error messages that refer to the originating Org file.
Thanks,
Thomas
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Adding source location information when tangling
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
1 sibling, 0 replies; 8+ messages in thread
From: Grant Rettke @ 2014-05-27 16:23 UTC (permalink / raw
To: Thomas Morgan; +Cc: emacs-orgmode@gnu.org
Something like "
Jumping between code and Org
here?
http://orgmode.org/manual/Extracting-source-code.html#Extracting-source-code
Grant Rettke | AAAS, ACM, ASA, FSF, IEEE, SIAM, Sigma Xi
gcr@wisdomandwonder.com | http://www.wisdomandwonder.com/
“Wisdom begins in wonder.” --Socrates
((λ (x) (x x)) (λ (x) (x x)))
“Life has become immeasurably better since I have been forced to stop
taking it seriously.” --Thompson
On Sun, May 25, 2014 at 11:28 AM, Thomas Morgan <tlm@ziiuu.com> wrote:
> 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?
> (These commands are equivalent to the `#line LINENUM "FILE"'
> directive in C.) If possible I'd like to let LilyPond know how
> to give error messages that refer to the originating Org file.
>
> Thanks,
> Thomas
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Adding source location information when tangling
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
1 sibling, 1 reply; 8+ messages in thread
From: Rainer M Krug @ 2014-05-27 21:08 UTC (permalink / raw
To: Thomas Morgan; +Cc: emacs-orgmode@gnu.org
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.
Cheers,
Rainer
> (These commands are equivalent to the `#line LINENUM "FILE"'
> directive in C.) If possible I'd like to let LilyPond know how
> to give error messages that refer to the originating Org file.
>
> Thanks,
> Thomas
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Adding source location information when tangling
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
0 siblings, 2 replies; 8+ messages in thread
From: Thomas Morgan @ 2014-05-28 21:48 UTC (permalink / raw
To: Rainer M Krug; +Cc: emacs-orgmode@gnu.org
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.).
Best,
Thomas
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Adding source location information when tangling
2014-05-28 21:48 ` Thomas Morgan
@ 2014-05-29 13:56 ` Rainer M Krug
2014-06-06 16:24 ` Eric Schulte
1 sibling, 0 replies; 8+ messages in thread
From: Rainer M Krug @ 2014-05-29 13:56 UTC (permalink / raw
To: Thomas Morgan; +Cc: emacs-orgmode@gnu.org
Envoyé de mon iPhone
> Le 28 mai 2014 à 23:48, Thomas Morgan <tlm@ziiuu.com> a écrit :
>
> 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.).
Sorry - must have misread your post. Can't help you with hour question then.
Cheers,
Rainer
>
> Best,
>
> Thomas
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Adding source location information when tangling
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
1 sibling, 1 reply; 8+ messages in thread
From: Eric Schulte @ 2014-06-06 16:24 UTC (permalink / raw
To: Thomas Morgan; +Cc: emacs-orgmode@gnu.org, Rainer M Krug
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.
Best,
>
> Best,
>
> Thomas
>
--
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D (see https://u.fsf.org/yw)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Adding source location information when tangling
2014-06-06 16:24 ` Eric Schulte
@ 2014-06-07 4:23 ` Thomas Morgan
2014-06-07 15:28 ` Eric Schulte
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Morgan @ 2014-06-07 4:23 UTC (permalink / raw
To: Eric Schulte; +Cc: emacs-orgmode@gnu.org, Rainer M Krug
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Adding source location information when tangling
2014-06-07 4:23 ` Thomas Morgan
@ 2014-06-07 15:28 ` Eric Schulte
0 siblings, 0 replies; 8+ messages in thread
From: Eric Schulte @ 2014-06-07 15:28 UTC (permalink / raw
To: Thomas Morgan; +Cc: emacs-orgmode@gnu.org, Rainer M Krug
>> 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.)
>
Yes, these will be inserted as comments, not directly into the file.
I've just added a new customization variable which will allow you turn
off the automated commenting and trailing newline insertion. Set
`org-babel-tangle-uncomment-comments' to a non-nil value.
Best,
--
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D (see https://u.fsf.org/yw)
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-06-07 15:32 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2014-06-07 15:28 ` Eric Schulte
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.