lilypond-devel
[Top][All Lists]
Advanced

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

Re: 'mm' scaling value on top-level


From: David Kastrup
Subject: Re: 'mm' scaling value on top-level
Date: Wed, 29 Sep 2021 12:56:16 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Werner LEMBERG <wl@gnu.org> writes:

>>> OK, thanks for the pointer.  But I wonder what exactly the problem
>>> is: The paper size strings passed to `set-default-paper-size` *do*
>>> contain the 'mm' variable, see `paper-alist`.  Is the expansion of
>>> 'mm' delayed?  Isn't there a possibility to do the same on the top
>>> level?
>> 
>> You could probably pass the values in a similar quoted style that
>> then gets eval'ed within the paper context where the measurements
>> are defined:
>> 
>> %%%%
>> #(set-default-paper-size '(cons (* 55 mm) (* 89 mm)))
>> %%%%
>>
>> [...]
>
> Thanks.  Attached is my next iteration.  This is almost what I want,
> however, I'm sure it's wrong in the details.  Reason:  It accepts
>
>   #(set-default-paper-size '(cons 100 50))
>
> (at the top level) but dislikes
>
>   #(set-default-paper-size '(100 . 50))
>
> How can I fix this?  Again, any pointers are much appreciated.

Well, sure.  (100 . 50) is not a Scheme expression you could evaluate.
You'd have to write

#(set-default-paper-size ''(100 . 50))

instead since you then need one quote level more.  Alternatively you
could call eval only when given a list or a symbol and just retain what
you got otherwise.  That may lead to somewhat inconsistent behavior.

-- 
David Kastrup



reply via email to

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