lilypond-user
[Top][All Lists]
Advanced

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

Re: OT: pagenumber


From: Thomas Morley
Subject: Re: OT: pagenumber
Date: Sat, 5 Mar 2016 11:19:36 +0100

2016-03-05 9:55 GMT+01:00 David Kastrup <address@hidden>:
> Blöchl Bernhard <address@hidden> writes:
>
>> I would recommend to add the options a user has to any item in the
>> chapter (maybe in other chapters as well)
>> 4.1.6 Other \paper variables
>> in the actual example that would mean
>>  print-page-number
>>     default is ##true. If set to false (##f), page numbers are not
>> printed. Example of use:
>>  print-page-number = ##f
>
> ##true is not workable as long we are on Guile-1.8:
>
> address@hidden:/usr/local/tmp/lilypond$ guile-1.8
> guile> #true
> #t
> ERROR: Unbound variable: rue
> ABORT: (unbound-variable)
> guile> #false
> #f
> ERROR: Unbound variable: alse
> ABORT: (unbound-variable)
> guile> address@hidden:/usr/local/tmp/lilypond$ guile-2.0
> GNU Guile 2.0.11
> Copyright (C) 1995-2014 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)> #true
> $1 = #t
> scheme@(guile-user)> #false
> $2 = #f
> scheme@(guile-user)>
>
> --
> David Kastrup

And if I'm not mistaken that would mean the guilev2-expression #true
would need to become ##true to be used in LilyPond-syntax.

Aliasing true and #t in LilyPond is not a good idea either.
This was discussed already:
http://lilypond.1069038.n5.nabble.com/LilyPond-boolean-syntax-true-and-false-td185547.html#none

Example:

true = ##t
false = ##f

myListI = #'(false)
myListII = #(list false)

#(if (car myListI)
     (display "\n(car myListI) is #t")
     (display "\n(car myListI) is #f"))

#(if (car myListII)
     (display "\n(car myListI) is #t")
     (display "\n(car myListI) is #f"))


Otoh, it's always nice to improve the docs, but how to?
Any guile-expression used in LilyPond _needs_ to be prepended with a hash.

And there are more complex things than #t or #f:
#(#t #t #f) is a guile-vector, which would be used as ##(#t #t #f) for
break-visibility in LilyPond.
Well, we do some aliasing there, because it's very unlikely someone
uses 'end-of-line-invisible elsewhere.

Summarizing, I see no reasonable way to do the _coding_ different. The
_description_ in LM:
http://www.lilypond.org/doc/v2.19/Documentation/learning/modifying-context-properties
is pretty clear I'd say:
"
where a Boolean is either True (#t) or False (#f), an Integer is a
positive whole number, a Real is a positive or negative decimal
number, and text is enclosed in double apostrophes. Note the
occurrence of hash signs, (#), in two different places – as part of
the Boolean value before the t or f, and before value in the \set
statement. So when a Boolean is being entered you need to code two
hash signs, e.g., ##t.
"

Well, it's about context-properties, but the LM is recommended to be
read entirely (as opposed to the NR).

Is there really need to repeat it for
grob-properties
paper
layout
etc?


Cheers,
  Harm



reply via email to

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