[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Empty markup lines behavior change (maybe regression) in dev (2.21.7
From: |
Aaron Hill |
Subject: |
Re: Empty markup lines behavior change (maybe regression) in dev (2.21.7) than stable (2.20.0) |
Date: |
Thu, 08 Oct 2020 09:30:16 -0700 |
User-agent: |
Roundcube Webmail/1.4.9 |
On 2020-10-08 3:03 am, K.L. wrote:
Yes, if a global \markup, it can be reserved, but not for the \markup
in *\header
title*.
My testing shows no change in behavior regardless of where the \markup
occurs: at the top-level, in \header, or attached to a note.
Here is a more complete test:
%%%%
\version "2.18.2"
#(format #t "\nversion=~s" (ly:version))
#(define (stencil-empty? sten)
(let ((xex (ly:stencil-extent sten X))
(yex (ly:stencil-extent sten Y)))
(and (> (car xex) (cdr xex))
(> (car yex) (cdr yex)))))
#(define-markup-command
(assert layout props id pred? arg)
(string? procedure? markup?)
(let ((sten (interpret-markup layout props arg)))
(or (pred? sten)
(ly:warning "assertion failed: expected ~a ~a"
id (procedure-name pred?)))
sten))
buildTestMarkup =
#(define-scheme-function (parser location scope) (string?)
#{
\markup {
\assert #(string-append scope " \\column {...}")
#stencil-empty?
\column {
\assert #(string-append scope " \\line { \"\" }")
#stencil-empty?
\line { "" }
\line { "" }
}
}
#})
\header { title = \buildTestMarkup "\\header" }
\buildTestMarkup "top-level"
{ b'4 -\buildTestMarkup "TextScript" }
%%%%
I checked this in a svg backend result.
That is the critical piece of information. The behavior only reproduces
using the SVG backend.
This is a bug in 2.20.0 and earlier, where \line { "" } does not resolve
to an empty-stencil but rather a point-stencil, so it ends up taking up
space when it should not.
This appears to have been resolved in 2.21.x.
-- Aaron Hill