X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocument-backend.scm;h=da545030711b47d62607d8bb1d37ec8ef1eae14f;hb=be50e2580ab88b01ff5a903350c01ecba1b96d16;hp=c7477eae1a91575f2c541de5536b59880a139c5a;hpb=18b1975ebc7601abf5fb49df87d5a965c53fce9b;p=lilypond.git diff --git a/scm/document-backend.scm b/scm/document-backend.scm index c7477eae1a..da54503071 100644 --- a/scm/document-backend.scm +++ b/scm/document-backend.scm @@ -1,9 +1,20 @@ -;;;; backend-documentation-lib.scm -- Functions for backend documentation +;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; source file of the GNU LilyPond music typesetter -;;;; -;;;; (c) 2000--2009 Han-Wen Nienhuys +;;;; Copyright (C) 2000--2009 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen +;;;; +;;;; LilyPond is free software: you can redistribute it and/or modify +;;;; it under the terms of the GNU General Public License as published by +;;;; the Free Software Foundation, either version 3 of the License, or +;;;; (at your option) any later version. +;;;; +;;;; LilyPond is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;;; GNU General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU General Public License +;;;; along with LilyPond. If not, see . (define (sort-grob-properties x) ;; force 'meta to the end of each prop-list @@ -61,9 +72,8 @@ ;; extract ifaces, and put grob into the hash table. (map (lambda (x) - (let* ((metah (assoc 'meta (cdr x))) - (meta (cdr metah)) - (ifaces (cdr (assoc 'interfaces meta)))) + (let* ((meta (assoc-get 'meta (cdr x))) + (ifaces (assoc-get 'interfaces meta))) (map (lambda (iface) (hashq-set! @@ -78,10 +88,12 @@ (let* ((name (symbol->string (car interface))) (interface-list (human-listify (map ref-ify + (sort (map symbol->string (hashq-ref iface->grob-table (car interface) - '())))))) + '())) + ly:string-ci #:name name #:text (string-append @@ -108,16 +120,18 @@ "Given a property alist DESCRIPTION, make a documentation node." - (let* ((metah (assoc 'meta description)) - (meta (cdr metah)) - (name (cdr (assoc 'name meta))) + (let* ((meta (assoc-get 'meta description)) + (name (assoc-get 'name meta)) ;; (bla (display name)) - (ifaces (map lookup-interface (cdr (assoc 'interfaces meta)))) - (ifacedoc (map (lambda (iface) - (if (pair? iface) - (ref-ify (symbol->string (car iface))) - (ly:error (_ "pair expected in doc ~s") name))) - (reverse ifaces))) + (ifaces (map lookup-interface (assoc-get 'interfaces meta))) + (ifacedoc (map ref-ify + (sort + (map (lambda (iface) + (if (pair? iface) + (symbol->string (car iface)) + (ly:error (_ "pair expected in doc ~s") name))) + ifaces) + ly:string-ci