Heart fill thank you. It was a very experience talking to the lilypond user
group and I learned a lot.

Knute:  Thank you for following up on handling of the utf-8 file name
and/or file path (location) problem in frecobaldi.

David Kastrup:  Thank you for helping me to use convert-ly.

David Wright:  Help me identify the problem with my lily score code.

Jean:  Help me identify the problem codes as well.

Thomas:  Thank you for updating the LSR#197. Very useful.

Jonas:  thank you for the undocumented \input-file-name use.

Aaron:  Thank you for the sample code for v2.18.2 and v2.20.0.  They both
work wonderfully.  I am running v2.23.3 now, but will keep v2.18.2 handy in
case I need to go back.  I saved the code in a snippet in frecobaldi v3.1.3.

Once again thank you all. I hope I didn't miss anybody that I should give
thanks for helping me.

Shalom,
yMing Tsang






On Mon, Jul 12, 2021 at 6:30 AM Thomas Morley <thomasmorle...@gmail.com>
wrote:

> Am Mo., 12. Juli 2021 um 08:38 Uhr schrieb Jonas Hahnfeld via LilyPond
> user discussion <lilypond-user@gnu.org>:
> >
> > Am Sonntag, dem 11.07.2021 um 22:54 -0700 schrieb Aaron Hill:
> > > On 2021-07-11 12:32 pm, ming tsang wrote:
> > > > I am confused about this "file information" LSR.
> > > > Yesterday, I did a ""file>save as" to a file name to
> > > > untitled_LSR_file-info_v2182.ly. This morning I tried to run the
> > > > untitled_LSR_file-info_v2182.ly, but I got run error:
> > >
> > > The code in LSR 197 is not able to properly handle non-ASCII characters
> > > in a file path.  Upon review, its use of object->string is mangling the
> > > filename.  Also, the entire premise of the snippet is predicated on the
> > > false assertion that the command-line only consists of the filename in
> > > question.  In practice, there are likely to be many other arguments.
> At
> > > best, you might be able to rely on the filename being the last
> argument:
> > >
> > > %%%%
> > > \version "2.18.2"
> > >
> > > filename = #(last (command-line))
> > > \markup { "File Name =" \filename }
> > > %%%%
> > >
> > > However, why mess about with reparsing the command-line arguments in
> the
> > > first place?  LilyPond has already done this for you, so just ask
> > > LilyPond for the current filename:
> > >
> > > %%%%
> > > \version "2.20.0" % or newer
> > >
> > > filename = #(define-scheme-function () ()
> > >   (car (ly:input-file-line-char-column (*location*))))
> > > \markup { "File Name =" \filename }
> > > %%%%
> > >
> > > You could adapt the above to work on 2.18.2, but calling the function
> > > within markup requires some extra sugar:
> > >
> > > %%%%
> > > \version "2.18.2"
> > >
> > > filename = #(define-scheme-function (parser location) ()
> > >   (car (ly:input-file-line-char-column location)))
> > > \markup { "File Name =" $#{ \filename #} }
> > > %%%%
> > >
> > > All the more reason to leave 2.18.2 behind and just focus on the newer
> > > versions of LilyPond.
> >
> > Or you could use the (undocumented) \input-file-name, an internal
> > variable of the lexer, which seems to be there since "forever".
>
> In the light of this discussion, I modified said LSR-snippet.
> Alas, while the code changed, the image is not updated.
> https://lsr.di.unimi.it/LSR/Item?id=197
> Likely again a LSR-problem ...
>
> Cheers,
>   Harm
>


-- 
ming (lyndon) tsang

Reply via email to