PATCHES - Countdown to September 7

2022-09-05 Thread Colin Campbell

Here is the current countdown report.

The next countdown will begin on September 7th.

A list of all merge requests can be found here:
https://gitlab.com/lilypond/lilypond/-/merge_requests?sort=label_priority


 Push:

!1593 Add 'outsidecomma and 'upbow breath mark types - Dan Eble
https://gitlab.com/lilypond/lilypond/-/merge_requests/1593


 Countdown:

!1609 Website maintenance - Jonas Hahnfeld
https://gitlab.com/lilypond/lilypond/-/merge_requests/1609

!1608 Update vendored Pygments - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1608

!1607 slur-configuration.cc: small cleanup - Martín Rincón Botero
https://gitlab.com/lilypond/lilypond/-/merge_requests/1607

!1606 Replace (ice-9 curried-definitions) with a fixed version - Jean 
Abou Samra

https://gitlab.com/lilypond/lilypond/-/merge_requests/1606

!1604 Clean up unused stencil commands - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1604

!1603 Improve clang-format config - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1603

!1601 Grob: make data members private - Dan Eble
https://gitlab.com/lilypond/lilypond/-/merge_requests/1601

!1600 Reduce dynamic casting - Dan Eble
https://gitlab.com/lilypond/lilypond/-/merge_requests/1600

!1599 Web: update GSoC page - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1599

!1598 Add '\bp' (big point) as unit - Werner Lemberg
https://gitlab.com/lilypond/lilypond/-/merge_requests/1598

!1596 doc: reference fixes and formatting - Werner Lemberg
https://gitlab.com/lilypond/lilypond/-/merge_requests/1596

!1594 musicxml2ly: use \caesura command - Dan Eble
https://gitlab.com/lilypond/lilypond/-/merge_requests/1594

!1591 Enforce at most one instance of a translator type per context - 
Jean Abou Samra

https://gitlab.com/lilypond/lilypond/-/merge_requests/1591

!1590 Define and use ly_list - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1590

!1588 Add list of bar lines in an NR appendix (redux) - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1588

!1587 In MIDI, render lyric underties using Unicode undertie U+203F - 
Jean Abou Samra

https://gitlab.com/lilypond/lilypond/-/merge_requests/1587

!1544 Misc. minor output-distance cleanups - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1544


 Review:

!1611 slur-configuration.cc: fine-tune penalty for dots - Martín Rincón 
Botero

https://gitlab.com/lilypond/lilypond/-/merge_requests/1611


 New:

No patches in New at this time.


 Waiting:

!1610 RFC: Require Cairo for building - Jean Abou Samra
https://gitlab.com/lilypond/lilypond/-/merge_requests/1610

!1578 New margins by default - Martín Rincón Botero
https://gitlab.com/lilypond/lilypond/-/merge_requests/1578


Cheers,

Colin




Re: "Hymn template" snippet

2022-09-05 Thread Dan Eble
On Aug 9, 2022, at 10:07, Trevor  wrote:

> In more modern hymn books there is a movement to use thin double lines 
> throughout rather than commas to show how the lines of the verse map onto the 
> music, although settings of traditional hymns usually retain the commas (see 
> Common Praise).

Thanks.  For the record, here's evidence that both the comma and the double bar 
are not tied to line position in _Common Praise_:

https://hymnary.org/hymn/CPAM2000/369
— 
Dan




Re: Making Cairo backend mandatory for building?

2022-09-05 Thread Jean Abou Samra

MR opened for this:

https://gitlab.com/lilypond/lilypond/-/merge_requests/1610

Thanks,
Jean




Re: Making Cairo backend mandatory for building?

2022-09-05 Thread Jean Abou Samra




Le 05/09/2022 à 22:38, Jonas Hahnfeld a écrit :

On Mon, 2022-09-05 at 22:27 +0200, Jean Abou Samra wrote:

Even though the Cairo backend is advertised as experimental, it is
starting to get some use; see for example the message today on -user
about a new OOoLilyPond release supporting it. This makes me wonder:
now that the official binaries have Cairo, isn't it time to require
it for the build and ditch --enable-cairo-backend so that everyone has
it, including those who use distro packages? To be clear, this wouldn't
be for 2.24, which is in build freeze mode, but we could do it in master
after branching.

Sounds reasonable, would have proposed the same. Probably already
having it for 2.25.0 makes sense so that it's there "from the
beginning".




Agreed (of course).




We're going to do it sooner or later in the 2.25 series
anyway, as we eventually want Cairo to become the default.

"eventually" yes, but not sure if during 2.25 (to be released as 2.26)
is a good idea since moving away from the ps backend is quite a
significant change (which I've argued before, would warrant a major
version change aka 3.0).




I think that even if Cairo doesn't become the default for PDF
in 2.26, we will most probably want to make it the default for
SVG output, since the current SVG backend is slow and suffers
from rendering discrepancies.





Re: Making Cairo backend mandatory for building?

2022-09-05 Thread Jonas Hahnfeld via Discussions on LilyPond development
On Mon, 2022-09-05 at 22:27 +0200, Jean Abou Samra wrote:
> Even though the Cairo backend is advertised as experimental, it is
> starting to get some use; see for example the message today on -user
> about a new OOoLilyPond release supporting it. This makes me wonder:
> now that the official binaries have Cairo, isn't it time to require
> it for the build and ditch --enable-cairo-backend so that everyone has
> it, including those who use distro packages? To be clear, this wouldn't
> be for 2.24, which is in build freeze mode, but we could do it in master
> after branching.

Sounds reasonable, would have proposed the same. Probably already
having it for 2.25.0 makes sense so that it's there "from the
beginning".

> We're going to do it sooner or later in the 2.25 series
> anyway, as we eventually want Cairo to become the default.

"eventually" yes, but not sure if during 2.25 (to be released as 2.26)
is a good idea since moving away from the ps backend is quite a
significant change (which I've argued before, would warrant a major
version change aka 3.0).


signature.asc
Description: This is a digitally signed message part


Making Cairo backend mandatory for building?

2022-09-05 Thread Jean Abou Samra

Even though the Cairo backend is advertised as experimental, it is
starting to get some use; see for example the message today on -user
about a new OOoLilyPond release supporting it. This makes me wonder:
now that the official binaries have Cairo, isn't it time to require
it for the build and ditch --enable-cairo-backend so that everyone has
it, including those who use distro packages? To be clear, this wouldn't
be for 2.24, which is in build freeze mode, but we could do it in master
after branching. We're going to do it sooner or later in the 2.25 series
anyway, as we eventually want Cairo to become the default.




Re: Moving most initialization to .scm files

2022-09-05 Thread Jean Abou Samra




Le 05/09/2022 à 21:22, Thomas Morley a écrit :

Am Mo., 5. Sept. 2022 um 19:50 Uhr schrieb Jonas Hahnfeld via
Discussions on LilyPond development :

On Sun, 2022-09-04 at 22:38 +0200, Jean Abou Samra wrote:

This needs to be done for lots of code in lots of files, so it will be
quite a major change to the source even though it is just a straightforward
translation.

I don't like this idea very much just two weeks before branching for a
new stable release. No matter how "straightforward", I find the risk
too high that something goes wrong, or that it turns out not to be a
good idea for some other reason, or that we still find it insufficient
and an entirely different solution is required...

For me, this also means we should go without !1510 for the release.
It's unfortunate, but not the end of the world; and I personally think
it's worse to delay the entire release by weeks / months or even an
undetermined amount of time.

Jonas

I think a stable release without meaningful error-messages as promised
by !1510 is unusable for power-users.
While working on zither-ly[*], I was tempted to trash a few weeks of
coding work, because of shitty error messages, making it unpossible to
proceed...
Unless Jean pointed me to the possibility to port all (critical)
scheme-codings in ly-files to scm-files and use GUILE_AUTO_COMPILE=1
I would not have reached the current state without it.

I'm not sure it's the best way but currently it looks like the only one.




For 2.24, I think that providing a -dcompile-scheme-code option for
byte-compiling user code is a viable route. This could later become
the default if it gets robust enough. In particular, since Guile
doesn't support compiling more than ~2000 or ~8000 expressions (depending
on the BDWGC configuration), we can't use it for make check, which
is a strong reason IMHO not to make it the default. I don't think
this Guile problem can be worked around. I do *believe* it can be fixed
in Guile, but it will take time until Linux distros have the potential fix,
and I don't know if the Guile maintainers will accept to backport it to
Guile 2.2, which potentially means we'd have to switch to Guile 3 before
making byte-compilation of user code the default. And, as we've experienced
with the MRs I had to do to fix test failures when I was trying to make
compilation the default (!1541, !1540, !1539), the switch could break
certain user files that do things not allowed by the byte-compiler, like
mutating quoted data. So it is safer not to do shortly before a stable 
release.

Since we don't currently provide binaries of a stable release that work
under 64-bit macOS, and it has been some time since 2.22, I also wish a
stable release soon, so I think an option is best for the time being.





Re: Moving most initialization to .scm files

2022-09-05 Thread Thomas Morley
Am Mo., 5. Sept. 2022 um 21:34 Uhr schrieb Jonas Hahnfeld :
>
> On Mon, 2022-09-05 at 21:22 +0200, Thomas Morley wrote:
> > Am Mo., 5. Sept. 2022 um 19:50 Uhr schrieb Jonas Hahnfeld via
> > Discussions on LilyPond development :
> > >
> > > On Sun, 2022-09-04 at 22:38 +0200, Jean Abou Samra wrote:
> > > > This needs to be done for lots of code in lots of files, so it will be
> > > > quite a major change to the source even though it is just a 
> > > > straightforward
> > > > translation.
> > >
> > > I don't like this idea very much just two weeks before branching for a
> > > new stable release. No matter how "straightforward", I find the risk
> > > too high that something goes wrong, or that it turns out not to be a
> > > good idea for some other reason, or that we still find it insufficient
> > > and an entirely different solution is required...
> > >
> > > For me, this also means we should go without !1510 for the release.
> > > It's unfortunate, but not the end of the world; and I personally think
> > > it's worse to delay the entire release by weeks / months or even an
> > > undetermined amount of time.
> > >
> > > Jonas
> >
> > I think a stable release without meaningful error-messages as promised
> > by !1510 is unusable for power-users.
>
> So we've had this discussion before:

Indeed

> If I follow the logic, we must not
> have a stable release until the error messages are equally good /
> better than they have been before. This problem has been known for two
> years, with very little activity before Jean started working on it in
> May (?). What I want to avoid is blocking the release for two more
> years. (probably / hopefully exaggerating, but it *will* change the
> schedule)

Well, one could argue the current 2.23.12 without !1510 is as unusable
as a new stable without !1510
Thus no need to postpone 2.24.

For large scheme codings one can just go the route described above.
Maybe document/recommend it somewhere? Not sure, though...

Cheers,
  Harm



Re: Moving most initialization to .scm files

2022-09-05 Thread Jonas Hahnfeld via Discussions on LilyPond development
On Mon, 2022-09-05 at 21:22 +0200, Thomas Morley wrote:
> Am Mo., 5. Sept. 2022 um 19:50 Uhr schrieb Jonas Hahnfeld via
> Discussions on LilyPond development :
> > 
> > On Sun, 2022-09-04 at 22:38 +0200, Jean Abou Samra wrote:
> > > This needs to be done for lots of code in lots of files, so it will be
> > > quite a major change to the source even though it is just a 
> > > straightforward
> > > translation.
> > 
> > I don't like this idea very much just two weeks before branching for a
> > new stable release. No matter how "straightforward", I find the risk
> > too high that something goes wrong, or that it turns out not to be a
> > good idea for some other reason, or that we still find it insufficient
> > and an entirely different solution is required...
> > 
> > For me, this also means we should go without !1510 for the release.
> > It's unfortunate, but not the end of the world; and I personally think
> > it's worse to delay the entire release by weeks / months or even an
> > undetermined amount of time.
> > 
> > Jonas
> 
> I think a stable release without meaningful error-messages as promised
> by !1510 is unusable for power-users.

So we've had this discussion before: If I follow the logic, we must not
have a stable release until the error messages are equally good /
better than they have been before. This problem has been known for two
years, with very little activity before Jean started working on it in
May (?). What I want to avoid is blocking the release for two more
years. (probably / hopefully exaggerating, but it *will* change the
schedule)

Jonas


signature.asc
Description: This is a digitally signed message part


Re: Moving most initialization to .scm files

2022-09-05 Thread Thomas Morley
Am Mo., 5. Sept. 2022 um 19:50 Uhr schrieb Jonas Hahnfeld via
Discussions on LilyPond development :
>
> On Sun, 2022-09-04 at 22:38 +0200, Jean Abou Samra wrote:
> > This needs to be done for lots of code in lots of files, so it will be
> > quite a major change to the source even though it is just a straightforward
> > translation.
>
> I don't like this idea very much just two weeks before branching for a
> new stable release. No matter how "straightforward", I find the risk
> too high that something goes wrong, or that it turns out not to be a
> good idea for some other reason, or that we still find it insufficient
> and an entirely different solution is required...
>
> For me, this also means we should go without !1510 for the release.
> It's unfortunate, but not the end of the world; and I personally think
> it's worse to delay the entire release by weeks / months or even an
> undetermined amount of time.
>
> Jonas

I think a stable release without meaningful error-messages as promised
by !1510 is unusable for power-users.
While working on zither-ly[*], I was tempted to trash a few weeks of
coding work, because of shitty error messages, making it unpossible to
proceed...
Unless Jean pointed me to the possibility to port all (critical)
scheme-codings in ly-files to scm-files and use GUILE_AUTO_COMPILE=1
I would not have reached the current state without it.

I'm not sure it's the best way but currently it looks like the only one.

Cheers,
  Harm

[*] If someone is interested:
https://gitlab.com/Thomas_Morley/zither-ly/-/tree/development/



Re: Moving most initialization to .scm files

2022-09-05 Thread Jean Abou Samra

Le 05/09/2022 à 19:50, Jonas Hahnfeld a écrit :

On Sun, 2022-09-04 at 22:38 +0200, Jean Abou Samra wrote:

This needs to be done for lots of code in lots of files, so it will be
quite a major change to the source even though it is just a straightforward
translation.

I don't like this idea very much just two weeks before branching for a
new stable release. No matter how "straightforward", I find the risk
too high that something goes wrong, or that it turns out not to be a
good idea for some other reason, or that we still find it insufficient
and an entirely different solution is required...

For me, this also means we should go without !1510 for the release.
It's unfortunate, but not the end of the world; and I personally think
it's worse to delay the entire release by weeks / months or even an
undetermined amount of time.




It's worth noting that moving the initialization to .scm files (or finding
another solution to the startup time problem, probably via some kind of
caching) is not strictly required to get !1510 in. However, in the case
!1510 is done without it, functions defined in the init .ly files won't 
appear

on the backtraces if something goes wrong while running them. For the next
stable release, we could call it good enough to have at least an option
running the user's code with compile, even if it's not done for the
init code.

(As I said on the MR, I have become weary of providing an option to
byte-compile the init code, even for debugging purposes, since it looks
like a maintenance pitfall.)




Re: Moving most initialization to .scm files

2022-09-05 Thread Jonas Hahnfeld via Discussions on LilyPond development
On Sun, 2022-09-04 at 22:38 +0200, Jean Abou Samra wrote:
> This needs to be done for lots of code in lots of files, so it will be
> quite a major change to the source even though it is just a straightforward
> translation.

I don't like this idea very much just two weeks before branching for a
new stable release. No matter how "straightforward", I find the risk
too high that something goes wrong, or that it turns out not to be a
good idea for some other reason, or that we still find it insufficient
and an entirely different solution is required...

For me, this also means we should go without !1510 for the release.
It's unfortunate, but not the end of the world; and I personally think
it's worse to delay the entire release by weeks / months or even an
undetermined amount of time.

Jonas


signature.asc
Description: This is a digitally signed message part


Re: Fixes and updates for lilypond-invoke-editor script

2022-09-05 Thread Andrew Bernard

Yes, incorrect reply a mistake. Unfortunately one cannot unsend!

Thanks re gvim issue, good. But there is still the out by one error with 
geany, so I will submit a patch.


Andrew


On 6/09/2022 1:33 am, Jean Abou Samra wrote:

Hi,

(Was it unintentional to reply on an existing unrelated thread?)


Le 05/09/2022 à 11:49, Andrew Bernard a écrit :
In 2.23.12 at least, there is an error for gvim (missing comma in 
list) in the lilypond-invoke-editor script, and the column number for 
geany is wrong as it numbers columns from zero not one.


While here, should we drop Atom from the list of editors as it is no 
longer supported and discontinued?


I have fixed these issues. Am I allowed to submit a patch to get this 
incorporated?



As Lukas said, of course yes. Note that the gvim problem has already 
been fixed by


https://gitlab.com/lilypond/lilypond/-/merge_requests/1583

Best,
Jean





Re: Fixes and updates for lilypond-invoke-editor script

2022-09-05 Thread Jean Abou Samra

Hi,

(Was it unintentional to reply on an existing unrelated thread?)


Le 05/09/2022 à 11:49, Andrew Bernard a écrit :
In 2.23.12 at least, there is an error for gvim (missing comma in 
list) in the lilypond-invoke-editor script, and the column number for 
geany is wrong as it numbers columns from zero not one.


While here, should we drop Atom from the list of editors as it is no 
longer supported and discontinued?


I have fixed these issues. Am I allowed to submit a patch to get this 
incorporated?



As Lukas said, of course yes. Note that the gvim problem has already 
been fixed by


https://gitlab.com/lilypond/lilypond/-/merge_requests/1583

Best,
Jean




Re: Fixes and updates for lilypond-invoke-editor script

2022-09-05 Thread Lukas-Fabian Moser
Hi Andrew,

Andrew Bernard  schrieb am Mo., 5. Sept. 2022,
11:51:

> In 2.23.12 at least, there is an error for gvim (missing comma in list)
> in the lilypond-invoke-editor script, and the column number for geany is
> wrong as it numbers columns from zero not one.
>
> While here, should we drop Atom from the list of editors as it is no
> longer supported and discontinued?
>
> I have fixed these issues. Am I allowed to submit a patch to get this
> incorporated?


Without having looked into the problem itself: yes of course!
Anyone can create merge requests on gitlab; if you don't want to set it up
accordingly, you can also simply post a patch here or mail it to someone
with the necessary privileges, i.e. most of the regulars on this list
(myself included).

Lukas


Fixes and updates for lilypond-invoke-editor script

2022-09-05 Thread Andrew Bernard
In 2.23.12 at least, there is an error for gvim (missing comma in list) 
in the lilypond-invoke-editor script, and the column number for geany is 
wrong as it numbers columns from zero not one.


While here, should we drop Atom from the list of editors as it is no 
longer supported and discontinued?


I have fixed these issues. Am I allowed to submit a patch to get this 
incorporated?






NR: no working links in included PDFs

2022-09-05 Thread Werner LEMBERG

Look at the documention of `\with-url` in the PDF version of the NR:
The link in the included snippet (to 'lilypond.org') doesn't work.
This is a limitation of pdfTeX (or XeTeX), which drops all links and
annotations for included PDF files.

Masamichi-san, is it possible to extend `extractpdfmark` to cover
this, too?  Looking around it seems that the tool 'pax'
('PDFAnnotExtractor') in TeXLive can do that.  However, it is based on
Java...

  https://github.com/bastien-roucaries/latex-pax

The reason why I ask is the planned inclusion of the Visual Grob Index
in the NR – all grobs shown have links to the corresponding
documentation.  If these links are lost the value of the index is
reduced enormously, and it would be probably better to not include it
at all but to have a stand-alone, simple, two-page document instead.


Werner