;;;
;;; source file of the GNU LilyPond music typesetter
;;;
-;;; (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;; (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define (uniqued-alist alist acc)
(uniqued-alist (cdr alist) (cons (car alist) acc)
))))
+(define (uniq-list list)
+ (if (null? list) '()
+ (if (null? (cdr list))
+ list
+ (if (equal? (car list) (cadr list))
+ (uniq-list (cdr list))
+ (cons (car list) (uniq-list (cdr list)))
+
+ ))))
(define (alist<? x y)
(string<? (symbol->string (car x))
(string-append
"\n" (cdr (assoc level texi-section-alist)) " "
(if ref
- (string-append "@ref{" name "}")
+ (ref-ify name)
name)
"\n"))
;; Menus don't appear in html, so we make a list ourselves
"\n@ignore\n"
"\n@ifhtml\n"
- (description-list->texi (map (lambda (x) (cons (reffy (car x)) (cdr x)))
+ (description-list->texi (map (lambda (x) (cons (ref-ify (car x)) (cdr x)))
items-alist))
"\n@end ifhtml\n"
"\n@end ignore\n"))
"\n@dircategory GNU music project"
"\n@direntry"
;; prepend GNU for dir, must be unique
- "\n* GNU " name " (" file-name "). " name "."
+ "\n* GNU " name ": (" file-name "). " name "."
"\n@end direntry"
- (node "Top") ",(lilypond)Features,," top
+ ;; ugh, prev and next should be settable, of course
+ (node "Top") ",(lilypond)Index,(lilypond)Full Grob interface list," top
"\n@top"
(texi-section 1 name #f)
(texi-menu items-alist)
"\n@contents"
))
+(define (itexi-file-head name file-name top items-alist)
+ (string-append
+ "@c -*-texinfo-*-"
+ (node name) ",,," top
+ (texi-section 1 name #f)
+ (texi-menu items-alist)
+ "\n@contents"
+ ))
+
(define (context-name name)
- (string-append "Context " name))
+ name)
(define (engraver-name name)
name)
(define (grob-name name)
- (string-append "Grob " name))
+ name)
(define (interface-name name)
name)
-(define (reffy x)
+(define (ref-ify x)
(string-append "@ref{" x "}"))
(define (human-listify l)
+ "Produce a textual enumeration from L, a list of strings"
+
(cond
((null? l) "none")
((null? (cdr l)) (car l))