X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocument-functions.scm;h=2102f640e0f80ad6255be2c5a0e5fffd1c7ada86;hb=0ac07f31e0f95fc18e5916ce756b9c746af7cc58;hp=19b619b365f7c8bb6e4abad078263a2268b56817;hpb=fd58a98a46a3def26b80a895f1f7b81c92590fc3;p=lilypond.git diff --git a/scm/document-functions.scm b/scm/document-functions.scm index 19b619b365..2102f640e0 100644 --- a/scm/document-functions.scm +++ b/scm/document-functions.scm @@ -1,51 +1,55 @@ +;;;; This file is part of LilyPond, the GNU music typesetter. +;;;; +;;;; Copyright (C) 1998--2012 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 . + (use-modules - (ice-9 regex) - ) + (ice-9 regex)) (define (dashify-underscores str) - (regexp-substitute/global #f "_" str 'pre "-" 'post)) + (regexp-substitute/global #f "_" str 'pre "-" 'post)) (define (format-c-header c-h) (regexp-substitute/global - #f "," + #f "," (regexp-substitute/global #f "(SCM|\\)|\\() *" (dashify-underscores c-h) - 'pre "" 'post) + 'pre "" 'post) 'pre " " 'post)) (define (document-scheme-function name c-header doc-string) (string-append "@defun " (symbol->string name) " " (format-c-header c-header) "\n" doc-string - "\n@end defun\n\n") - ) + "\n@end defun\n\n")) (define all-scheme-functions - (hash-fold - (lambda (key val prior) - (cons (cons key val) prior) - ) - '() (ly:get-all-function-documentation))) + (hash-fold + (lambda (key val prior) + (cons (cons key val) prior)) + '() (ly:get-all-function-documentation))) (define (all-scheme-functions-doc) - (let* - ( - - (fdocs (map (lambda (x) - (document-scheme-function (car x) (cadr x) (cddr x)) - ) - all-scheme-functions) - ) - (sfdocs (sort fdocs string #:name "Scheme functions" - #:desc "Primitive functions exported by LilyPond" + #:desc "Primitive functions exported by LilyPond." #:text - (apply string-append sfdocs) - ) - )) - + (string-concatenate sfdocs)))) -; (dump-node (all-scheme-functions-doc) (current-output-port) 0 ) +;; (dump-node (all-scheme-functions-doc) (current-output-port) 0 )