Coverage report: /home/ellis/.stash/quicklisp/dists/ultralisp/software/trivial-gray-streams-trivial-gray-streams-20240301173944/package.lisp

KindCoveredAll%
expression02 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;;; -*- Mode: LISP; Base: 10; Syntax: ANSI-Common-lisp; Package: CL-USER -*-
2
 
3
 #+xcvb (module ())
4
 
5
 (in-package :cl-user)
6
 
7
 #+:abcl
8
 (eval-when (:compile-toplevel :load-toplevel :execute)
9
   (require :gray-streams))
10
 
11
 #+(or cmu genera)
12
 (eval-when (:compile-toplevel :load-toplevel :execute)
13
   (require :gray-streams))
14
 
15
 #+allegro
16
 (eval-when (:compile-toplevel :load-toplevel :execute)
17
   (unless (fboundp 'excl:stream-write-string)
18
     (require "streamc.fasl")))
19
 
20
 #+(or ecl clasp)
21
 (eval-when (:compile-toplevel :load-toplevel :execute)
22
   (gray::redefine-cl-functions))
23
 
24
 (macrolet
25
     ((frob ()
26
        (let ((gray-class-symbols
27
               '(#:fundamental-stream
28
                 #:fundamental-input-stream #:fundamental-output-stream
29
                 #:fundamental-character-stream #:fundamental-binary-stream
30
                 #:fundamental-character-input-stream #:fundamental-character-output-stream
31
                 #:fundamental-binary-input-stream #:fundamental-binary-output-stream))
32
              (gray-function-symbols
33
               '(#:stream-read-char
34
                 #:stream-unread-char #:stream-read-char-no-hang
35
                 #:stream-peek-char #:stream-listen #:stream-read-line
36
                 #:stream-clear-input #:stream-write-char #:stream-line-column
37
                 #:stream-start-line-p #:stream-write-string #:stream-terpri
38
                 #:stream-fresh-line #:stream-finish-output #:stream-force-output
39
                 #:stream-clear-output #:stream-advance-to-column
40
                 #:stream-read-byte #:stream-write-byte)))
41
          `(progn
42
 
43
             (defpackage impl-specific-gray
44
               (:use :cl)
45
               (:import-from
46
                #+sbcl :sb-gray
47
                #+allegro :excl
48
                #+cmu :ext
49
                #+(or clisp ecl mkcl mocl clasp) :gray
50
                #+openmcl :ccl
51
                #+lispworks :stream
52
                #+(or abcl genera) :gray-streams
53
                #+mezzano :mezzano.gray
54
                #-(or sbcl allegro cmu clisp openmcl lispworks ecl clasp mkcl abcl mocl genera mezzano) ...
55
                ,@gray-class-symbols
56
                ,@gray-function-symbols)
57
               (:export
58
                ,@gray-class-symbols
59
                ,@gray-function-symbols))
60
 
61
             (defpackage :trivial-gray-streams
62
               (:use :cl)
63
               (:import-from #:impl-specific-gray
64
                             ;; We import and re-export only
65
                             ;; function symbols.
66
                             ;; But we define our own classes
67
                             ;; mirroring the gray class hierarchy
68
                             ;; of the lisp implementation. This
69
                             ;; is necessary to define our methods
70
                             ;; for the implementation-specific
71
                             ;; variations of stream-read-sequence,
72
                             ;; stream-write-sequence, stream-file-position,
73
                             ;; and call from them their portalbe
74
                             ;; counterparts defined by trivial-gray-streams.
75
                             ,@gray-function-symbols)
76
               (:export ,@gray-class-symbols
77
                        ,@gray-function-symbols
78
                        ;; out extensions to the Gray proposal
79
                        #:stream-read-sequence
80
                        #:stream-write-sequence
81
                        #:stream-file-position
82
                        ;; deprecated
83
                        #:trivial-gray-stream-mixin))))))
84
   (frob))