;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 1998--2010 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; Copyright (C) 1998--2011 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
(define-public center-visible #(#f #t #f))
(define-public end-of-line-visible #(#t #f #f))
(define-public all-invisible #(#f #f #f))
+(define-public (inherit-x-parent-visibility grob)
+ (let ((parent (ly:grob-parent grob X)))
+ (ly:grob-property parent 'break-visibility all-invisible)))
+
(define-public spanbar-begin-of-line-invisible #(#t #f #f))
(define-public (system-start-text::calc-y-offset grob)
(define (live-elements-list me)
- (let* ((elements (ly:grob-object me 'elements))
- (elts-length (ly:grob-array-length elements))
- (live-elements '()))
-
- (let get-live ((len elts-length))
- (if (> len 0)
- (let ((elt (ly:grob-array-ref elements (1- len))))
-
- (if (grob::is-live? elt)
- (set! live-elements (cons elt live-elements)))
- (get-live (1- len)))))
- live-elements))
+ (let ((elements (ly:grob-object me 'elements)))
+
+ (filter! grob::is-live?
+ (ly:grob-array->list elements))))
(let* ((left-bound (ly:spanner-bound grob LEFT))
(live-elts (live-elements-list grob))