Am 04.12.2013 16:33, schrieb Jan-Peter Voigt:
Am 04.12.2013 15:04, schrieb Urs Liska:
Hi, its:
ly:input-location?

HTH
Unfortunately not (TH).
This is what redirects me to

Input *
unsmob_input (SCM s)
{
   if (SCM_IMP (s))
     return 0;
   if (SCM_CAR (s) == (SCM)input_tag) // ugh.
     return (Input *) SCM_CDR (s);
   else
     return 0;
}

And that's where I get stuck. This function looks like it somehow munges
a Scheme pair or list, so I tried to access it through
(car location)
but that didn't work. Which isn't surprising because the original
(write) would have printed something like (location "...") if it were a
list, isn't it?
What are you trying to do? If you want to pass a location to a
music(scheme/void)-function, it looks like:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.17.96"

% save the current location
saveLocation =
#(define-void-function (parser location name)(symbol?)
    (ly:parser-define! parser name location))

% show the file path of the given location
showFile =
#(define-void-function (parser location loc)(ly:input-location?)
    (ly:message "file '~A'" (car (ly:input-file-line-char-column location))))

% save location
\saveLocation hier
% show file name
\showFile \hier
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

The showFile function takes a ly:input-location as argument.

Or is it something else, you are going to do?

Thanks a lot. It's _nearly_ what I want to do, but I'm quite sure it will help me do it.

(cdr (ly:input-file-line-char-column location))
was the thing ...


Urs


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to