package.lisp - clic - Clic is an command line interactive client for gopher wri… | |
git clone git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65… | |
Log | |
Files | |
Refs | |
Tags | |
README | |
LICENSE | |
--- | |
package.lisp (3077B) | |
--- | |
1 #+xcvb (module ()) | |
2 | |
3 (in-package :cl-user) | |
4 | |
5 #+:abcl | |
6 (eval-when (:compile-toplevel :load-toplevel :execute) | |
7 (require :gray-streams)) | |
8 | |
9 #+(or cmu genera) | |
10 (eval-when (:compile-toplevel :load-toplevel :execute) | |
11 (require :gray-streams)) | |
12 | |
13 #+allegro | |
14 (eval-when (:compile-toplevel :load-toplevel :execute) | |
15 (unless (fboundp 'excl:stream-write-string) | |
16 (require "streamc.fasl"))) | |
17 | |
18 #+(or ecl clasp) | |
19 (eval-when (:compile-toplevel :load-toplevel :execute) | |
20 (gray::redefine-cl-functions)) | |
21 | |
22 (macrolet | |
23 ((frob () | |
24 (let ((gray-class-symbols | |
25 '(#:fundamental-stream | |
26 #:fundamental-input-stream #:fundamental-output-stream | |
27 #:fundamental-character-stream #:fundamental-binary-stre… | |
28 #:fundamental-character-input-stream #:fundamental-chara… | |
29 #:fundamental-binary-input-stream #:fundamental-binary-o… | |
30 (gray-function-symbols | |
31 '(#:stream-read-char | |
32 #:stream-unread-char #:stream-read-char-no-hang | |
33 #:stream-peek-char #:stream-listen #:stream-read-line | |
34 #:stream-clear-input #:stream-write-char #:stream-line-c… | |
35 #:stream-start-line-p #:stream-write-string #:stream-ter… | |
36 #:stream-fresh-line #:stream-finish-output #:stream-forc… | |
37 #:stream-clear-output #:stream-advance-to-column | |
38 #:stream-read-byte #:stream-write-byte))) | |
39 `(progn | |
40 | |
41 (defpackage impl-specific-gray | |
42 (:use :cl) | |
43 (:import-from | |
44 #+sbcl :sb-gray | |
45 #+allegro :excl | |
46 #+cmu :ext | |
47 #+(or clisp ecl mocl clasp) :gray | |
48 #+openmcl :ccl | |
49 #+lispworks :stream | |
50 #+(or abcl genera) :gray-streams | |
51 #-(or sbcl allegro cmu clisp openmcl lispworks ecl clasp … | |
52 ,@gray-class-symbols | |
53 ,@gray-function-symbols) | |
54 (:export | |
55 ,@gray-class-symbols | |
56 ,@gray-function-symbols)) | |
57 | |
58 (defpackage :trivial-gray-streams | |
59 (:use :cl) | |
60 (:import-from #:impl-specific-gray | |
61 ;; We import and re-export only | |
62 ;; function symbols; | |
63 ;; But we define our own classes | |
64 ;; mirroring the gray class hierarchy | |
65 ;; of the lisp implementation (this | |
66 ;; is necessary to define our methods | |
67 ;; for particular generic functions) | |
68 ,@gray-function-symbols) | |
69 (:export ,@gray-class-symbols | |
70 ,@gray-function-symbols | |
71 ;; extension functions | |
72 #:stream-read-sequence | |
73 #:stream-write-sequence | |
74 #:stream-file-position | |
75 ;; deprecated | |
76 #:trivial-gray-stream-mixin)))))) | |
77 (frob)) |