Paul Morris <[email protected]> writes:

> Here's my specific question.  The docs say this for the Y-offset
> property of the Script object:
>
> |Y-offset| (number):
>
>    |#<unpure-pure-container #<primitive-procedure
>    ly:side-position-interface::y-aligned-side> #<primitive-procedure
>    ly:side-position-interface::pure-y-aligned-side> >|
>
>    The vertical amount that this object is moved relative to its Y-parent.
>
> http://lilypond.org/doc/v2.19/Documentation/internals/script
>
> But in the source code, in 'scm/define-grobs.scm', for the Script grob
> I see no mention of unpure-pure-container:
>
> (Y-offset . ,side-position-interface::y-aligned-side)

You are missing the difference between
ly:side-position-interface::y-aligned-side and
side-position-interface::y-aligned-side .

The latter is defined in scm/output-lib.scm as

(define-public side-position-interface::y-aligned-side
  (ly:make-unpure-pure-container
   ly:side-position-interface::y-aligned-side
   ly:side-position-interface::pure-y-aligned-side))

> So am I missing something or are the docs off for Script.Y-offset?

The docs are autogenerated and cannot be off with regard to listed
default values.

> Is a call to "(ly:side-position-interface::y-aligned-side grob)"
> actually the default call to use?

You are better off with
(ly:pure-call side-position-interface::y-aligned-side grob start end)
or
(ly:unpure-call side-position-interface::y-aligned-side grob)
depending on what you need.

Or of course calling ly:side-position-interface::y-aligned-side and
ly:side-position-interface::pure-y-aligned-side directly.

-- 
David Kastrup

_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to