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