Werner LEMBERG <w...@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