X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocument-functions.scm;h=d1bc74340d0ecba86eec5b2180f621120c6d4229;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=459cb08a61cd075f4ebb2bc8bd35dfddb75f5f01;hpb=2086beff8cd9949318c97a2a531edb8f04f45f8c;p=lilypond.git diff --git a/scm/document-functions.scm b/scm/document-functions.scm index 459cb08a61..d1bc74340d 100644 --- a/scm/document-functions.scm +++ b/scm/document-functions.scm @@ -1,48 +1,55 @@ +;;;; This file is part of LilyPond, the GNU music typesetter. +;;;; +;;;; Copyright (C) 1998--2015 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)) +(define (dashify-underscores str) + (regexp-substitute/global #f "_" str 'pre "-" 'post)) + (define (format-c-header c-h) (regexp-substitute/global - #f "," - (regexp-substitute/global #f "(SCM|\\)|\\() *" c-h 'pre "" 'post) - 'pre " " 'post) - ) + #f "," + (regexp-substitute/global #f "(SCM|\\)|\\() *" (dashify-underscores c-h) + '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 )