lilypond-auto
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] Re: #5741 Pars


From: Auto mailings of changes to Lily Issues via Testlilyissues-auto
Subject: [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] Re: #5741 Parse inline scheme using per-expression port
Date: Sat, 22 Feb 2020 18:33:13 -0000

On Sat, Feb 22, 2020 at 6:52 PM David Kastrup
address@hidden wrote:

Sorry for the false alarm. Reverting this patch does not appear to make a discernible difference to the time of running make doc, so this apparent recent increase in compilation time does not seem related to this patch. I'll have to look at possible other reasons for what appears to be a loss of performance.

thanks for investigating more deeply; I was surprised, since I can see
a possibility that per-# parsing is more expensive on Guile 2.x, but
not on 1.8.

The patch actually does fix a problem on Guile 2.x, related to parsing
EOF inside scheme expressions; without the patch:

$ lilypond input/regression/display-lily-tests.ly
GNU LilyPond 2.21.0
Processing `input/regression/display-lily-tests.ly'
Parsing...
<string>:1:14: fatal error: wrong type for argument 1. Expecting real
number, found #<unspecified>
c4\bendAfter
#3</unspecified></string>

For the record, here with patch operative:
real 42m2.760s

that corresponds with "about 40 minutes" you talked about earlier?


[issues:#5741] Parse inline scheme using per-_expression_ port

Status: Fixed
Labels: Fixed_2_21_0
Created: Fri Feb 07, 2020 02:52 PM UTC by Han-Wen Nienhuys
Last Updated: Sat Feb 22, 2020 05:52 PM UTC
Owner: Han-Wen Nienhuys

Introduces a throw-away string port, Overlay_string_port, which makes
a port out of a random section of a C string. It does not own the
string, so there is no overhead in creating and discarding the ports
during parse time.

For GUILE v2, Overlay_string_port uses UTF-8 encoding, so UTF-8
encoded string constants within the Scheme constants are interpreted
as Unicode correctly.

This obviates the string port that Source_file carries along.

This commit fixes a problem with GUILE 2.2.6, where LilyPond
calculates offsets in the source file as bytes, while GUILE interprets
the source file as UTF-8 encoded Unicode. As a result, files with
Unicode before embedded scheme break completely.

https://codereview.appspot.com/557330043


Sent from sourceforge.net because address@hidden is subscribed to https://sourceforge.net/p/testlilyissues/issues/

To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.

_______________________________________________
Testlilyissues-auto mailing list
address@hidden
https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto

reply via email to

[Prev in Thread] Current Thread [Next in Thread]