emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* 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 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).