diff options
author | Jim Blandy <jimb@red-bean.com> | 1997-05-26 22:26:48 +0000 |
---|---|---|
committer | Jim Blandy <jimb@red-bean.com> | 1997-05-26 22:26:48 +0000 |
commit | 1532804164c66ff65b9bc82b92fc4dd15fd56dd6 (patch) | |
tree | 0cc57f9aa47956b6569463adc5cdc72f96e6b942 | |
parent | 873b9044b5cea8cc3e8d2af7e52cf7b5d0d9f736 (diff) | |
download | guile-1532804164c66ff65b9bc82b92fc4dd15fd56dd6.tar.gz |
* COPYING, boot-9.scm, debug.scm, emacs.scm, expect.scm, gtcl.scm,
gwish.scm, hcons.scm, lineio.scm, mapping.scm, nonblocking.scm,
oldprint.scm, poe.scm, r4rs.scm, source.scm, tags.scm, test.scm,
threads.scm: New address for FSF.
-rw-r--r-- | ice-9/COPYING | 9 | ||||
-rw-r--r-- | ice-9/boot-9.scm | 9 | ||||
-rw-r--r-- | ice-9/debug.scm | 3 | ||||
-rw-r--r-- | ice-9/emacs.scm | 3 | ||||
-rw-r--r-- | ice-9/expect.scm | 3 | ||||
-rw-r--r-- | ice-9/gtcl.scm | 3 | ||||
-rw-r--r-- | ice-9/gwish.scm | 3 | ||||
-rw-r--r-- | ice-9/hcons.scm | 3 | ||||
-rw-r--r-- | ice-9/lineio.scm | 3 | ||||
-rw-r--r-- | ice-9/mapping.scm | 3 | ||||
-rw-r--r-- | ice-9/nonblocking.scm | 82 | ||||
-rw-r--r-- | ice-9/oldprint.scm | 3 | ||||
-rw-r--r-- | ice-9/poe.scm | 3 | ||||
-rw-r--r-- | ice-9/r4rs.scm | 3 | ||||
-rw-r--r-- | ice-9/source.scm | 161 | ||||
-rw-r--r-- | ice-9/tags.scm | 3 | ||||
-rw-r--r-- | ice-9/test.scm | 3 | ||||
-rw-r--r-- | ice-9/threads.scm | 3 |
18 files changed, 39 insertions, 264 deletions
diff --git a/ice-9/COPYING b/ice-9/COPYING index 9648fb9ea..eeb586b39 100644 --- a/ice-9/COPYING +++ b/ice-9/COPYING @@ -1,8 +1,8 @@ GNU GENERAL PUBLIC LICENSE Version 2, June 1991 - Copyright (C) 1989, 1991, 1992, 1993 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -279,7 +279,7 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - Appendix: How to Apply These Terms to Your New Programs + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it @@ -305,7 +305,8 @@ the "copyright" line and a pointer to where the full notice is found. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Also add information on how to contact you by electronic and paper mail. diff --git a/ice-9/boot-9.scm b/ice-9/boot-9.scm index 11eef1bd3..118afd205 100644 --- a/ice-9/boot-9.scm +++ b/ice-9/boot-9.scm @@ -14,7 +14,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; @@ -3178,7 +3179,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; ;;;; @@ -3318,7 +3320,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; ;;;; diff --git a/ice-9/debug.scm b/ice-9/debug.scm index cc441f13f..c8440c031 100644 --- a/ice-9/debug.scm +++ b/ice-9/debug.scm @@ -12,7 +12,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; ;;;; The author can be reached at djurfeldt@nada.kth.se ;;;; Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN diff --git a/ice-9/emacs.scm b/ice-9/emacs.scm index c563200cc..77c62241a 100644 --- a/ice-9/emacs.scm +++ b/ice-9/emacs.scm @@ -12,7 +12,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; ;;;; The author can be reached at djurfeldt@nada.kth.se ;;;; Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN diff --git a/ice-9/expect.scm b/ice-9/expect.scm index b11c90ab1..e312b71e9 100644 --- a/ice-9/expect.scm +++ b/ice-9/expect.scm @@ -14,7 +14,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; diff --git a/ice-9/gtcl.scm b/ice-9/gtcl.scm index bacccb043..65acf5bf3 100644 --- a/ice-9/gtcl.scm +++ b/ice-9/gtcl.scm @@ -12,7 +12,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; ;;;; The author can be reached at djurfeldt@nada.kth.se ;;;; Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN diff --git a/ice-9/gwish.scm b/ice-9/gwish.scm index 8efff185d..8b54e4a5b 100644 --- a/ice-9/gwish.scm +++ b/ice-9/gwish.scm @@ -12,7 +12,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; ;;;; The author can be reached at djurfeldt@nada.kth.se ;;;; Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN diff --git a/ice-9/hcons.scm b/ice-9/hcons.scm index febd5e8c7..d40190d90 100644 --- a/ice-9/hcons.scm +++ b/ice-9/hcons.scm @@ -14,7 +14,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; diff --git a/ice-9/lineio.scm b/ice-9/lineio.scm index 28e4a6515..768aaef71 100644 --- a/ice-9/lineio.scm +++ b/ice-9/lineio.scm @@ -14,7 +14,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; diff --git a/ice-9/mapping.scm b/ice-9/mapping.scm index ceb3a1b38..b4ce24a00 100644 --- a/ice-9/mapping.scm +++ b/ice-9/mapping.scm @@ -14,7 +14,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; diff --git a/ice-9/nonblocking.scm b/ice-9/nonblocking.scm index 926a40c85..e69de29bb 100644 --- a/ice-9/nonblocking.scm +++ b/ice-9/nonblocking.scm @@ -1,82 +0,0 @@ -;;;; Copyright (C) 1996 Mikael Djurfeldt -;;;; -;;;; This program 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 2, or (at your option) -;;;; any later version. -;;;; -;;;; This program 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 this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -;;;; -;;;; The author can be reached at djurfeldt@nada.kth.se -;;;; Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN -;;;; - - -;;; ******************************* -;;; * Experimental hack * -;;; * Shouldn't go into snapshots * -;;; * Don't distribute! * -;;; ******************************* - -;;; {Non-blocking ports} -;;; - -(define-module (ice-9 nonblocking) - :use-module (ice-9 threads)) - -(define mu (make-mutex)) -(define-public repl-input-port-condvar (make-condition-variable)) - -(define non-blocking-input #f) - -(define-public (make-non-blocking-port wait-port read-port) - (letrec ((read-char-fn (lambda args - (if (char-ready? wait-port) - (read-char read-port) - (begin - (wait-condition-variable repl-input-port-condvar - mu) - (unlock-mutex mu) - (read-char-fn)))))) - (make-soft-port - (vector #f #f #f - read-char-fn - (lambda () (close-port orig-port))) - "r"))) - -(define-public repl-input-port (current-input-port)) -(define-public basic-repl-input-port repl-input-port) - -(define-public handle-input-events - (lambda () - (if (single-active-thread?) - (select (list basic-repl-input-port) '() '())) - (if (char-ready? basic-repl-input-port) - (signal-condition-variable repl-input-port-condvar) - (yield)))) - -(define (kick) - (call-with-new-thread - (lambda () - (error-catching-loop - (lambda () - (let loop () - (handle-input-events) - (loop))))) - (lambda args args))) - -(define-public (activate-non-blocking-input) - (if (not non-blocking-input) - (begin - (set! repl-input-port (make-non-blocking-port basic-repl-input-port - (current-input-port))) - (set-current-input-port repl-input-port) - (kick) - (set! non-blocking-input #t)))) diff --git a/ice-9/oldprint.scm b/ice-9/oldprint.scm index bec6d0358..442dddd46 100644 --- a/ice-9/oldprint.scm +++ b/ice-9/oldprint.scm @@ -12,7 +12,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; diff --git a/ice-9/poe.scm b/ice-9/poe.scm index eb3a13fca..567d1bbc2 100644 --- a/ice-9/poe.scm +++ b/ice-9/poe.scm @@ -14,7 +14,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; diff --git a/ice-9/r4rs.scm b/ice-9/r4rs.scm index c1ab627cb..c0bfd7182 100644 --- a/ice-9/r4rs.scm +++ b/ice-9/r4rs.scm @@ -15,7 +15,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; apply and call-with-current-continuation diff --git a/ice-9/source.scm b/ice-9/source.scm index 3d3a960a4..e69de29bb 100644 --- a/ice-9/source.scm +++ b/ice-9/source.scm @@ -1,161 +0,0 @@ -;;;; source.scm --- finding lines of source code for the debugger to display -;;;; Jim Blandy <jimb@cyclic.com> --- February 1997 -;;;; -;;;; Copyright (C) 1997 Free Software Foundation, Inc. -;;;; -;;;; This program 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 2, or (at your option) -;;;; any later version. -;;;; -;;;; This program 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 this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - -;;; This module retrieves selected lines from files of source code. -;;; It's meant for use by source-level debuggers, to display regions -;;; of code to the user. -;;; - -;;; We don't keep the text in memory. However, we do cache the -;;; starting positions of each line in the file, so once the file has -;;; been scanned, we can extract any line we want pretty quickly. We -;;; also only scan as far as we need, i.e., up to the latest line -;;; we've been asked for. This is fast enough for interactive use, -;;; but doesn't take up much memory. - -;(define-module '(ice-9 source)) - - -;;;; public interface - -;;; (get-source-line FILE LINE) -;;; Return the text of the LINE'th line from the file FILE, as a -;;; string. -(define-public (get-source-line file line) - ...) - -;;; (check-source-cache FILE) -;;; The source access routines in this module cache some information -;;; about the contents of the files they examine. If we have cached -;;; any information about FILE, check its modification time, and forget -;;; our cached information if it is out of date. -;;; -;;; Try to call this function periodically before retrieving lines -;;; from FILE; however, it does perform a file system access, so don't -;;; call it too often. - - -;;;; trivia - -(define (throw-out-of-range op index) - (throw 'out-of-range op "Argument out of range: %S" (list index) #f)) - - -;;;; stretchy vectors - -;;; A stretchy vector is one that you can append new entries onto -;;; efficiently. - -;;; (make-svect) => a new, zero-length stretchy vector -(define (make-svect) - (cons 0 (make-vector 20 '-))) - -;;; (svect-ref SVECT K) => the K'th element of SVECT -(define (svect-ref svect k) - (vector-ref (cdr svect) k)) - -;;; (svect-add! SVECT ELT) => append ELT to the end of SVECT -(define (svect-add! svect elt) - - ;; If we don't have room in the current vector, create a new, larger one. - (if (>= (car svect) (vector-length (cdr svect))) - (let* ((old-vect (cdr svect)) - (new-vect (make-vector (* 2 (vector-length old-vect)) '-))) - (vector-move-left! old-vect 0 (vector-length old-vect) - new-vect 0) - (set-cdr! svect new-vect))) - - (vector-set! (cdr svect) (car svect) elt) - (set-car! svect (+ 1 (car svect)))) - -;;; (svect-length SVECT) => the length of SVECT -(define svect-length car) - - -;;;; source files - -;;; We keep a limited number of source files open at any given time. -;;; A source file structure looks like: -;;; -;;; (PORT LINESTARTS) -;;; -;;; PORT is a seekable input port looking at a text file. -;;; LINESTARTS is a stretchy vector, whose Ith element is the seek -;;; position of the start of line I (assuming lines are numbered -;;; starting with zero). The file may have more lines than this -;;; array records; this occurs when we haven't completely scanned -;;; the file. -(define (make-source file) - (let ((port (open-input-file file))) - (let ((linestarts (make-svect))) - (svect-add! linestarts 0) ; We know where the first line starts. - (list port linestarts)))) - -;;; Return the text of the LINE'th line of SOURCE. Return the EOF -;;; object if SOURCE doesn't have that many lines. -(define (get-line source line) - (let* ((port (car source)) - (linestarts (cadr source)) - (known (svect-length linestarts))) - - ;; Starting at the last line whose position is known, scan SOURCE for - ;; new line positions, until we've found the start of the LINE'th - ;; line. Assume that LINE is not one whose position we already know. - ;; Record all line positions in SOURCE. Return the text of - ;; the LINE'th line (without a newline), or the EOF object if the - ;; file doesn't have that many lines. - (define (scan line) - (fseek port (svect-ref linestarts (- known 1)) SEEK_SET) - (let loop ((known known)) - (let ((text (read-line port))) - (if (eof-object? text) text - (begin - (svect-add! linestarts (ftell port)) - (if (>= line known) (loop (+ known 1)) - text)))))) - - ;; Return the text of the line that starts at POS. - (define (get pos) - (fseek port pos SEEK_SET) - (read-line port)) - - (if (< line known) - (get (svect-ref linestarts line)) - (scan line)))) - - -;;;; cache of files - -;;; The cache is an alist mapping filenames onto source objects. We -;;; put a fixed limit on the number of files it contains; new files replace -;;; the least recently used file. - -(define (cache-add! cache max file source) - (let* ((cache (cons (cons file source) cache)) - ( - (set-cdr! - -(define (cache-ref file) - - - - -(define the-file-cache '()) -(define file-cache-max 10) - diff --git a/ice-9/tags.scm b/ice-9/tags.scm index 58b7425b4..34d861c54 100644 --- a/ice-9/tags.scm +++ b/ice-9/tags.scm @@ -14,7 +14,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; diff --git a/ice-9/test.scm b/ice-9/test.scm index aeb28ee59..7cf66411f 100644 --- a/ice-9/test.scm +++ b/ice-9/test.scm @@ -12,7 +12,8 @@ ;; ;; You should have received a copy of the GNU General Public License ;; along with this software; see the file COPYING. If not, write to -;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;; Boston, MA 02111-1307 USA ;; ;; As a special exception, the Free Software Foundation gives permission ;; for additional uses of the text contained in its release of GUILE. diff --git a/ice-9/threads.scm b/ice-9/threads.scm index bec189009..b50ee4856 100644 --- a/ice-9/threads.scm +++ b/ice-9/threads.scm @@ -12,7 +12,8 @@ ;;;; ;;;; You should have received a copy of the GNU General Public License ;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. +;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +;;;; Boston, MA 02111-1307 USA ;;;; ;;;; ---------------------------------------------------------------- ;;;; threads.scm -- User-level interface to Guile's thread system |