PATCHES - Countdown for July 4th

2018-07-04 Thread James Lowe
Hello,

Here is the current patch countdown list. The next countdown will be on 7th 
July.

A quick synopsis of all patches currently in the review process can be found 
here:

http://philholmes.net/lilypond/allura/



Push:

5364 Simplify Drul_array indexing - Dan Eble
https://sourceforge.net/p/testlilyissues/issues/5364
http://codereview.appspot.com/365730043

5363 Give Paper_columns to Spacing_spanner::note_spacing - Dan Eble
https://sourceforge.net/p/testlilyissues/issues/5363
http://codereview.appspot.com/369720043


Countdown:

5366 Move warnings out of find/create context functions - Dan Eble
https://sourceforge.net/p/testlilyissues/issues/5366
http://codereview.appspot.com/349740043


Review: No Patches at this time.


New:

5367 A few stencil-related refactorings, to wit: - David Kastrup
https://sourceforge.net/p/testlilyissues/issues/5367
http://codereview.appspot.com/353750043

5365 Avoid multiple evaluation of markups \pattern \fill-with-pattern - David 
Kastrup
https://sourceforge.net/p/testlilyissues/issues/5365
http://codereview.appspot.com/357740043


regards

James
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Now this is a nightmare...

2018-07-04 Thread David Kastrup


scm_is_integer is not nearly a sufficient prerequisite for calling
scm_to_int (well, of course there are size limits but that's not what I
am talking about).  Try

{ \repeat unfold #2.0 c'1 }

which crashes in some strange place.  Use #2 instead and it works (of
course), use #2.5 and it fails in a proper manner with the intended kind
of error message.

We probably need some ly_is_integer instead that also checks for
scm_exact_p or so?  Guile-2.0 has scm_is_exact_integer but Guile-1
apparently not.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Now this is a nightmare...

2018-07-04 Thread Werner LEMBERG


> We probably need some ly_is_integer instead that also checks for
> scm_exact_p or so?  Guile-2.0 has scm_is_exact_integer but Guile-1
> apparently not.

What about emulating `scm_is_exact_integer', either in Scheme or in
C++?  This should make transition to Guile-2 simple.


Werner

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Now this is a nightmare...

2018-07-04 Thread David Kastrup
Werner LEMBERG  writes:

>> We probably need some ly_is_integer instead that also checks for
>> scm_exact_p or so?  Guile-2.0 has scm_is_exact_integer but Guile-1
>> apparently not.
>
> What about emulating `scm_is_exact_integer', either in Scheme or in
> C++?  This should make transition to Guile-2 simple.

You mean, complex.  Get it wrong, and our private version is getting
linked and the Guile-2 version left out.  Or we get double-definition
link-time errors.  So we want an autoconf test and so on.

Having our own ly_is_integer variant map to the Guile-2 version
conditionally is simple, and when we do it wrong, there is an obvious
missing symbol at link time.  Or stuff works without complaint.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Now this is a nightmare...

2018-07-04 Thread David Kastrup
David Kastrup  writes:

> Werner LEMBERG  writes:
>
>>> We probably need some ly_is_integer instead that also checks for
>>> scm_exact_p or so?  Guile-2.0 has scm_is_exact_integer but Guile-1
>>> apparently not.
>>
>> What about emulating `scm_is_exact_integer', either in Scheme or in
>> C++?  This should make transition to Guile-2 simple.
>
> You mean, complex.  Get it wrong, and our private version is getting
> linked and the Guile-2 version left out.  Or we get double-definition
> link-time errors.  So we want an autoconf test and so on.
>
> Having our own ly_is_integer variant map to the Guile-2 version
> conditionally is simple, and when we do it wrong, there is an obvious
> missing symbol at link time.  Or stuff works without complaint.

It may be an upstream battle.  Guile-1.8 does it the same:

dak@lola:~$ lilypond scheme-sandbox
GNU LilyPond 2.21.0
Processing `/usr/local/share/lilypond/2.21.0/ly/scheme-sandbox.ly'
Parsing...
guile> (define xxx '(1 2 3))
guile> (list-ref xxx 1.0)
ERROR: Wrong type (expecting exact integer): 1.0
ABORT: (wrong-type-arg)
guile> (list-ref xxx 1)
2
guile> (list-ref xxx 1.5)
standard input:4:1: In procedure list-ref in expression (list-ref xxx 1.5):
standard input:4:1: Wrong type (expecting exact integer): 1.5
ABORT: (wrong-type-arg)

Type "(backtrace)" to get more information or "(debug)" to enter the debugger.
guile>

Notice how the error message for 1.5 is much more specific than for 1.0?
Same reason.

Guile-2 is more consistent:

dak@lola:~$ guile
GNU Guile 2.0.13
Copyright (C) 1995-2016 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (define xxx '(1 2 3))
scheme@(guile-user)> (list-ref xxx 1.0)
ERROR: In procedure list-ref:
ERROR: Wrong type (expecting exact integer): 1.0

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,q
scheme@(guile-user)> (list-ref xxx 1.5)
ERROR: In procedure list-ref:
ERROR: Wrong type (expecting exact integer): 1.5

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,q
scheme@(guile-user)> 

It's probably more than less incentive not to let bad values get down
into the Scheme level...

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Now this is a nightmare...

2018-07-04 Thread Dan Eble
On Jul 4, 2018, at 07:29, David Kastrup  wrote:
> 
> Having our own ly_is_integer variant map to the Guile-2 version
> conditionally is simple, and when we do it wrong, there is an obvious
> missing symbol at link time.  Or stuff works without complaint.

That’s fine, but if it’s going to be a proxy for scm_is_exact_integer
in the long run, the name ly_is_exact_integer gets my vote.
— 
Dan


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Now this is a nightmare...

2018-07-04 Thread David Kastrup
Dan Eble  writes:

> On Jul 4, 2018, at 07:29, David Kastrup  wrote:
>> 
>> Having our own ly_is_integer variant map to the Guile-2 version
>> conditionally is simple, and when we do it wrong, there is an obvious
>> missing symbol at link time.  Or stuff works without complaint.
>
> That’s fine, but if it’s going to be a proxy for scm_is_exact_integer
> in the long run, the name ly_is_exact_integer gets my vote.

I don't like the verbosity (basically it can make expressions wrap
around that fit previously).  But I admit that this does not really make
for a compelling argument.

One argument not to use scm_is_exact_integer is that we cannot know
whether this is going to be a macro or a function, and our type error
messages actually look up function addresses.

So in order to check, I did one git fetch and discovered that someone is
committing to the 1.8 release branch (Thien-Thi Nguyen) bringing it back
into compilability.  That should be interesting information for
self-compilers.

At  any  rate:

origin:libguile/numbers.c-
origin:libguile/numbers.c-int
origin:libguile/numbers.c:scm_is_exact_integer (SCM val)
origin:libguile/numbers.c-{
origin:libguile/numbers.c-  return scm_is_true (scm_exact_integer_p (val));
origin:libguile/numbers.c-}

At least this one is at least at the current point of time in current
master a function (and not a macro).

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Now this is a nightmare...

2018-07-04 Thread David Kastrup
Dan Eble  writes:

> On Jul 4, 2018, at 07:29, David Kastrup  wrote:
>> 
>> Having our own ly_is_integer variant map to the Guile-2 version
>> conditionally is simple, and when we do it wrong, there is an obvious
>> missing symbol at link time.  Or stuff works without complaint.
>
> That’s fine, but if it’s going to be a proxy for scm_is_exact_integer
> in the long run, the name ly_is_exact_integer gets my vote.

ly_is_exact_int or even just ly_is_int might be appropriate when also
checking that the range for scm_to_int is kept.  Though the resulting
error messages for exceeding the range could be weird.  That would
require finding a really good description of the type checked by the
predicate.

We currently have "an integer" I think as description.  "an integer
convertible to int" sounds very technical.  "an exact integer in
suitable range" sounds very fuzzy.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: #5355 Doc: document grob metadata in SVG output in Notation Reference

2018-07-04 Thread James Lowe
Paul, 


 
On Sun, 1 Jul 2018 17:52:02 -0400, Paul Morris  wrote: 
 
> On 07/01/2018 02:43 AM, David Kastrup wrote: 
> 
> > Edit your .git/config file and change the repository address according 
> > to the Git repository clone command given for developers on LilyPond's 
> > Savannah page. 
> 
> Thanks.  It turned out I had a new SSH key that I hadn't added to 
> Savannah yet.  So I got it to work by following CG 3.4.9 
> http://lilypond.org/doc/v2.19/Documentation/contributor/commit-access 
> 
> I noticed that where the CG says: 
> 
> " 
> SSH should issue the following warning: 
> 
> The authenticity of host 'git.sv.gnu.org (140.186.70.72)' can't 
> be established. 
> RSA key fingerprint is 
> 80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5. 
> Are you sure you want to continue connecting (yes/no)? 
> 
> Make sure the RSA key fingerprint displayed matches the one above. 
> " 
> 
> This did not match what I saw in my terminal.  (I saved what I saw if 
> that's useful.)  It may have been a bad move but I lived dangerously and 
> went ahead anyway.  But the CG may need an update? 
 
I checked and using the command

ssh-keygen -E md5 -lf <(ssh-keyscan git.sv.gnu.org 2>/dev/null)

I get this for MD5 hashes

1024 MD5:80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5 git.sv.gnu.org (RSA)


and for SHA256

...
1024 SHA256:FYkx0iik+iBeCLRzvUyUSTRT98TEBBJoYuQsTXbyGL8 git.sv.gnu.org (RSA)

So the CG prints the MD5 hash - and it looks OK to me.

If you didn't get either of those can you attach what you did get?

James


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Now this is a nightmare...

2018-07-04 Thread Werner LEMBERG


>> What about emulating `scm_is_exact_integer', either in Scheme or in
>> C++?  This should make transition to Guile-2 simple.
> 
> You mean, complex.

Hmm.  I was thinking along the gnulib mechanism which provides
drop-ins for many system functions.

> Get it wrong, and our private version is getting linked and the
> Guile-2 version left out.  Or we get double-definition link-time
> errors.  So we want an autoconf test and so on.

Yep.

> Having our own ly_is_integer variant map to the Guile-2 version
> conditionally is simple, and when we do it wrong, there is an
> obvious missing symbol at link time.  Or stuff works without
> complaint.

This should also work, of course.  And transition to Guile-2 would be
a simple s/// operation.


Werner

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: #5355 Doc: document grob metadata in SVG output in Notation Reference

2018-07-04 Thread Paul Morris

James,

On 07/04/2018 09:41 AM, James Lowe wrote:


On Sun, 1 Jul 2018 17:52:02 -0400, Paul Morris  wrote:
  

Thanks.  It turned out I had a new SSH key that I hadn't added to
Savannah yet.  So I got it to work by following CG 3.4.9
http://lilypond.org/doc/v2.19/Documentation/contributor/commit-access

I noticed that where the CG says:

"
SSH should issue the following warning:

The authenticity of host 'git.sv.gnu.org (140.186.70.72)' can't
be established.
RSA key fingerprint is
80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5.
Are you sure you want to continue connecting (yes/no)?

Make sure the RSA key fingerprint displayed matches the one above.
"

This did not match what I saw in my terminal.  (I saved what I saw if
that's useful.)  It may have been a bad move but I lived dangerously and
went ahead anyway.  But the CG may need an update?
  
I checked and using the command


ssh-keygen -E md5 -lf <(ssh-keyscan git.sv.gnu.org 2>/dev/null)

I get this for MD5 hashes

1024 MD5:80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5 git.sv.gnu.org (RSA)


and for SHA256

...
1024 SHA256:FYkx0iik+iBeCLRzvUyUSTRT98TEBBJoYuQsTXbyGL8 git.sv.gnu.org (RSA)

So the CG prints the MD5 hash - and it looks OK to me.

If you didn't get either of those can you attach what you did get?

James


Below is what I got, which doesn't match what you have above.  Looks 
like I have ECDSA instead of RSA, or something?


$ git pull --verbose

The authenticity of host 'git.sv.gnu.org (208.118.235.201)' can't be 
established.

ECDSA key fingerprint is SHA256:qRLLJ4w/GAeiDyYnbx4yWJbZXwGiYYxgNty7lAfUyuM.

Are you sure you want to continue connecting (yes/no)?


My .git/config file has this in it (except with my actual savannah 
username):


[remote "origin"]

    url = ssh://usern...@git.sv.gnu.org/srv/git/lilypond.git

    fetch = +refs/heads/*:refs/remotes/origin/*


-Paul

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: #5355 Doc: document grob metadata in SVG output in Notation Reference

2018-07-04 Thread David Kastrup
Paul Morris  writes:

> Below is what I got, which doesn't match what you have above.  Looks
> like I have ECDSA instead of RSA, or something?
>
> $ git pull --verbose
>
> The authenticity of host 'git.sv.gnu.org (208.118.235.201)' can't be 
> established.
>
> ECDSA key fingerprint is SHA256:qRLLJ4w/GAeiDyYnbx4yWJbZXwGiYYxgNty7lAfUyuM.
>
> Are you sure you want to continue connecting (yes/no)?

"git pull" isn't interactive, so you have no way of answering this
question I think.

Try

ssh usern...@git.sv.gnu.org

instead, answering this question with "yes" once (assuming that you are
reasonably sure that this session is not spoofed).  You won't get
anywhere (this connection is severely restricted) but will be able to
resolve the question.  It's probably not even necessary to get the
username right for that.

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: #5355 Doc: document grob metadata in SVG output in Notation Reference

2018-07-04 Thread James Lowe
Paul

On Wed, 4 Jul 2018 15:59:18 -0400, Paul Morris  wrote:

> James,
> 
> On 07/04/2018 09:41 AM, James Lowe wrote:
> 
> > On Sun, 1 Jul 2018 17:52:02 -0400, Paul Morris  wrote:
> >   
> >> Thanks.  It turned out I had a new SSH key that I hadn't added to
> >> Savannah yet.  So I got it to work by following CG 3.4.9
> >> http://lilypond.org/doc/v2.19/Documentation/contributor/commit-access
> >>
> >> I noticed that where the CG says:
> >>
> >> "
> >> SSH should issue the following warning:
> >>
> >> The authenticity of host 'git.sv.gnu.org (140.186.70.72)' can't
> >> be established.
> >> RSA key fingerprint is
> >> 80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5.
> >> Are you sure you want to continue connecting (yes/no)?
> >>
> >> Make sure the RSA key fingerprint displayed matches the one above.
> >> "
> >>
> >> This did not match what I saw in my terminal.  (I saved what I saw if
> >> that's useful.)  It may have been a bad move but I lived dangerously and
> >> went ahead anyway.  But the CG may need an update?
> >   
> > I checked and using the command
> >
> > ssh-keygen -E md5 -lf <(ssh-keyscan git.sv.gnu.org 2>/dev/null)
> >
> > I get this for MD5 hashes
> > 
> > 1024 MD5:80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5 git.sv.gnu.org 
> > (RSA)
> > 
> >
> > and for SHA256
> >
> > ...
> > 1024 SHA256:FYkx0iik+iBeCLRzvUyUSTRT98TEBBJoYuQsTXbyGL8 git.sv.gnu.org (RSA)
> > 
> > So the CG prints the MD5 hash - and it looks OK to me.
> >
> > If you didn't get either of those can you attach what you did get?
> >
> > James
> 
> Below is what I got, which doesn't match what you have above.  Looks 
> like I have ECDSA instead of RSA, or something?
> 
> $ git pull --verbose
> 
> The authenticity of host 'git.sv.gnu.org (208.118.235.201)' can't be 
> established.
> 
> ECDSA key fingerprint is SHA256:qRLLJ4w/GAeiDyYnbx4yWJbZXwGiYYxgNty7lAfUyuM.

OK I missed out the other stuff on my command line. E.g:

ssh-keygen -lf <(ssh-keyscan git.sv.gnu.org 2>/dev/null)
1024 SHA256:FYkx0iik+iBeCLRzvUyUSTRT98TEBBJoYuQsTXbyGL8 git.sv.gnu.org (RSA)
256 SHA256:o/oI4CKKcWc4cZvDFEdmOXsE3tiPP8bWa04h4bQjtV4 git.sv.gnu.org (ED25519)
256 SHA256:qRLLJ4w/GAeiDyYnbx4yWJbZXwGiYYxgNty7lAfUyuM git.sv.gnu.org (ECDSA)

Which is what you had.

Looks like MD5 is no longer the default response. Although I don't know why you 
didn't get abn RSA response

When I get some time I'll walk thorough the CG guide myself to see if I get you 
get and we can update the doc. It's been about 12months since I last went 
through it.

But those hashes look correct.

James




___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel