X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocument-backend.scm;h=0ba63b2cfc46163b41850d7e8221a436c61b99c8;hb=HEAD;hp=80ba17a3ba34cd1958f80fa6b72bae234613c008;hpb=9e781b7dc83b60a543ce218aa1a5f139f74c760f;p=lilypond.git diff --git a/scm/document-backend.scm b/scm/document-backend.scm index 80ba17a3ba..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--2014 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-citexi description) "\n\nThis object supports the following interface(s):\n" (human-listify ifacedoc) @@ -173,6 +176,16 @@ 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