[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