X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocument-backend.scm;h=0ba63b2cfc46163b41850d7e8221a436c61b99c8;hb=85e78f77fdceb5b073bb2c5696c3117a5b1c220e;hp=c1288deff52bc03e8bfad40e62de628bdd8d23c1;hpb=ef5c8e061ba49682c06cdfbd3816c971d6accba4;p=lilypond.git diff --git a/scm/document-backend.scm b/scm/document-backend.scm index c1288deff5..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-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