X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocument-backend.scm;h=0ba63b2cfc46163b41850d7e8221a436c61b99c8;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=a4c25cfe3cbcda60717f0c4fa1e311f89f8d9d9f;hpb=44dd3acc534e7a534f846810b481c3f603eaa92e;p=lilypond.git diff --git a/scm/document-backend.scm b/scm/document-backend.scm index a4c25cfe3c..0ba63b2cfc 100644 --- a/scm/document-backend.scm +++ b/scm/document-backend.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2000--2012 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -16,27 +16,30 @@ ;;;; You should have received a copy of the GNU General Public License ;;;; along with LilyPond. If not, see . -(define (sort-grob-properties x) +(define (sort-grob-properties props) ;; force 'meta to the end of each prop-list - (let ((meta (assoc 'meta x))) - (append (sort (assoc-remove! x 'meta) ly:alist-cigrob-table (make-hash-table 61)) ;; extract ifaces, and put grob into the hash table. -(map +(for-each (lambda (x) (let* ((meta (assoc-get 'meta (cdr x))) (ifaces (assoc-get 'interfaces meta))) - (map (lambda (iface) - (hashq-set! - iface->grob-table iface - (cons (car x) - (hashq-ref iface->grob-table iface '())))) - ifaces))) + (for-each (lambda (iface) + (hashq-set! + iface->grob-table iface + (cons (car x) + (hashq-ref iface->grob-table iface '())))) + ifaces))) all-grob-descriptions) ;; First level Interface description @@ -154,7 +157,7 @@ node." engraver-list)) "." - "\n\nStandard settings:\n\n" + "\n\nStandard settings:\n" (grob-alist->texi description) "\n\nThis object supports the following interface(s):\n" (human-listify ifacedoc) @@ -173,22 +176,32 @@ node." (cons (cons key val) prior)) '() (ly:all-grob-interfaces))) +;; sort user-settable and internal props within each grob-interface +(set! interface-description-alist + (map! (lambda (iface-desc) + (let* ((key-name-docstr (list-head iface-desc 3)) + (props (list-tail iface-desc 3)) + (sorted-props (list (sort (car props) ly:symbol-ci