I like what you've done.

I've put a couple of comments in.  They are not mandatory, but just for
your consideration.

Carl



http://codereview.appspot.com/115065/diff/1001/1003
File scm/paper.scm (right):

http://codereview.appspot.com/115065/diff/1001/1003#newcode220
Line 220: (scaleable-values (list
I think it would be better to use symbols, rather than strings, here.  I
don't have a strong preference for this; obviously these strings are
only used locally to define symbols later on.

But the things they stand for are symbols elsewhere in the code, so I'd
prefer using symbols here.

http://codereview.appspot.com/115065/diff/1001/1003#newcode221
Line 221: (cons "left-margin" w)
I think you could alternatively do (either with symbols or strings):

(scaleable-values `((left-margin . ,w)
                                    (right-margin . ,w)
                                    (top-margin . ,h)
                                    ...
                                    (short-indent . ,w))

http://codereview.appspot.com/115065/diff/1001/1003#newcode232
Line 232: ((value-symbol (string->symbol (string-append (car value)
"-default")))
I you were using symbols, you'd have

(value-symbol
  (string->symbol (string-append
                       (symbol->string (car value))
                       "-default")))

http://codereview.appspot.com/115065/diff/1001/1003#newcode244
Line 244: (module-define! m 'left-margin-default-scaled (cdr (assoc
"left-margin" scaled-values)))
This is a potential error waiting to cause problems for  a user.  assoc
can return #f, and (cdr #f) is an error.

If you use assoc-get, you can supply a default value, e.g.
(module-define! m 'left-margin-default-scaled (assoc-get 'left-margin
scaled-values default-value))

where default-value is whatever the reasonable default value would be if
things somehow got broken.

I realize that you have just built the list here, so you're in control
and it can be argued that this is not necessary.  I'm not demanding this
change, just asking you to consider it.

http://codereview.appspot.com/115065


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to