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