diff options
author | James LewisMoss <dres@debian.org> | 2001-07-27 23:45:29 -0400 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:29 -0800 |
commit | f559c149c83da84d0b1c285f0298c84aec564af9 (patch) | |
tree | f1c91bcb9bb5e6dad87b643127c3f878d80d89ee /schmooz.scm | |
parent | c394920caedf3dac1981bb6b10eeb47fd6e4bb21 (diff) | |
parent | 87b82b5822ca54228cfa6df29be3ad9d4bc47d16 (diff) | |
download | slib-f559c149c83da84d0b1c285f0298c84aec564af9.tar.gz slib-f559c149c83da84d0b1c285f0298c84aec564af9.zip |
Import Debian changes 2d2-1debian/2d2-1
slib (2d2-1) unstable; urgency=low
* New upstream version
* Revert back to free. Is now so.
slib (2d1-1) unstable; urgency=low
* New upstream version.
* Move to non-free. FSF pointed out license doesn't allow modified
versions to be distributed.
* Get a complete list of copyrights that apply to the source into
copyright file.
* Remove setup for guile 1.3.
* Remove postrm. Just calling install-info (lintian) Move install-info
call to prerm since doc-base doesn't do install-info.
slib (2c9-3) unstable; urgency=low
* Change info location to section "The Algorithmic Language Scheme" to
match up with where guile puts it's files.
* Postinst is running slibconfig now. (Closes: #75891)
slib (2c9-2) unstable; urgency=low
* Stop installing slibconfig (for guile).
* In postinst if /usr/sbin/slibconnfig exists call it (Close: #75843
#75891).
slib (2c9-1) unstable; urgency=low
* New upstream (Closes: #74760)
* replace string-index with strsrch:string-index in http-cgi.scm.
* Add doc-base support (Closes: #31163)
Diffstat (limited to 'schmooz.scm')
-rw-r--r-- | schmooz.scm | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/schmooz.scm b/schmooz.scm index a09f3df..e9950d2 100644 --- a/schmooz.scm +++ b/schmooz.scm @@ -1,9 +1,9 @@ ;;; "schmooz.scm" Program for extracting texinfo comments from Scheme. -;;; Copyright (C) 1998 Radey Shouman and Aubrey Jaffer. +;;; Copyright (C) 1998, 2000 Radey Shouman and Aubrey Jaffer. ; -;Permission to copy this software, to redistribute it, and to use it -;for any purpose is granted, subject to the following restrictions and -;understandings. +;Permission to copy this software, to modify it, to redistribute it, +;to distribute modified versions, and to use it for any purpose is +;granted, subject to the following restrictions and understandings. ; ;1. Any copy made of this software must include this copyright notice ;in full. @@ -17,9 +17,6 @@ ;promotional, or sales literature without prior written consent in ;each case. -;;$Header: /usr/local/cvsroot/slib/schmooz.scm,v 1.12 1999/10/11 03:36:29 jaffer Exp $ -;;$Name: $ - ;;; REPORT an error or warning (define report (lambda args @@ -365,21 +362,25 @@ (define (schmooz-scm-file file txi-name) (display "Schmoozing ") (write file) (display " -> ") (write txi-name) (newline) - (fluid-let ((*scheme-source* (open-file file "r")) + (fluid-let ((*scheme-source* (open-input-file file)) (*scheme-source-name* file) - (*derived-txi* (open-file txi-name "w")) + (*derived-txi* (open-output-file txi-name)) (*derived-txi-name* txi-name)) (set! *output-line* 1) + (cond ((scheme-file? file)) + (else (find-string-from-port? ";" *scheme-source* #\;) + (read-line *scheme-source*))) (schmooz-tops schmooz-top) (close-input-port *scheme-source*) (close-output-port *derived-txi*))) (lambda files (for-each (lambda (file) (define sl (string-length file)) - (cond ((scheme-file? file) - (schmooz-scm-file - file (scm->txi file))) - ((texi-file? file) (schmooz-texi-file file)))) + (cond ((texi-file? file) (schmooz-texi-file file)) + ((scheme-file? file) + (schmooz-scm-file file (scm->txi file))) + (else (schmooz-scm-file + file (string-append file ".txi"))))) files)))) ;;; SCHMOOZ-TOPS - schmooz top level forms. @@ -407,6 +408,20 @@ (read-cmt-line)) (else (read-line *scheme-source*)))) + (define (read-meta-cmt) + (let skip ((metarg? #f)) + (let ((c (read-char *scheme-source*))) + (case c + ((#\newline) (if metarg? (skip #t))) + ((#\\) (skip #t)) + ((#\!) (cond ((eqv? #\# (peek-char *scheme-source*)) + (read-char *scheme-source*) + (if #f #f)) + (else + (skip metarg?)))) + (else + (if (char? c) (skip metarg?) c)))))) + (define (lp c) (cond ((eof-object? c) (cond ((pair? doc-lines) @@ -415,13 +430,19 @@ ((eqv? c #\newline) (read-char *scheme-source*) (set! *output-line* (+ 1 *output-line*)) - (newline *derived-txi*) + ;;(newline *derived-txi*) (lp (peek-char *scheme-source*))) ((char-whitespace? c) (write-char (read-char *scheme-source*) *derived-txi*) (lp (peek-char *scheme-source*))) ((char=? c #\;) (c-cmt c)) + ((char=? c #\#) + (read-char *scheme-source*) + (if (eqv? #\! (peek-char *scheme-source*)) + (read-meta-cmt) + (report "misread sharp object" (peek-char *scheme-source*))) + (lp (peek-char *scheme-source*))) (else (sx)))) @@ -450,7 +471,6 @@ (define (out-cmt line) (let ((subl (substitute-macs line '()))) - (newline *derived-txi*) (display (car subl) *derived-txi*) (for-each (lambda (l) @@ -459,7 +479,8 @@ (out-cindex (cadr l))) (else (report "bad macro" line)))) - (cdr subl)))) + (cdr subl)) + (newline *derived-txi*))) ;;Comments not transcribed to generated Texinfo files. (define (c-cmt c) @@ -492,7 +513,7 @@ (doc-cmt (peek-char *scheme-source*)))))) ;; Transcribe the comment line to C source file. (else - (read-line *scheme-source*) ;(out-c-cmt ) + (read-line *scheme-source*) (lp (peek-char *scheme-source*))))) ;;Comments incorporated in generated Texinfo files. @@ -520,7 +541,6 @@ (cond ((eof-object? c) (lp c)) ((eqv? #\; c) (out-cmt (read-cmt-line)) - ;;(out-c-cmt (car ls)) (doc-cmt (peek-char *scheme-source*))) ((eqv? c #\newline) (read-char *scheme-source*) |