package.lisp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. (in-package :trivial-gray-streams-system)
  2. #+cmu
  3. (eval-when (:compile-toplevel :load-toplevel :execute)
  4. (require :gray-streams))
  5. #+allegro
  6. (eval-when (:compile-toplevel :load-toplevel :execute)
  7. (unless (fboundp 'stream:stream-write-string)
  8. (require "streamc.fasl")))
  9. (macrolet
  10. ((frob ()
  11. (let
  12. ((common-symbols
  13. '(#:fundamental-stream #:fundamental-input-stream
  14. #:fundamental-output-stream #:fundamental-character-stream
  15. #:fundamental-binary-stream #:fundamental-character-input-stream
  16. #:fundamental-character-output-stream
  17. #:fundamental-binary-input-stream
  18. #:fundamental-binary-output-stream #:stream-read-char
  19. #:stream-unread-char #:stream-read-char-no-hang
  20. #:stream-peek-char #:stream-listen #:stream-read-line
  21. #:stream-clear-input #:stream-write-char #:stream-line-column
  22. #:stream-start-line-p #:stream-write-string #:stream-terpri
  23. #:stream-fresh-line #:stream-finish-output #:stream-force-output
  24. #:stream-clear-output #:stream-advance-to-column
  25. #:stream-read-byte #:stream-write-byte)))
  26. `(defpackage :trivial-gray-streams
  27. (:use :cl)
  28. (:import-from #+sbcl :sb-gray
  29. #+allegro :excl
  30. #+cmu :ext
  31. #+clisp :gray
  32. #+openmcl :ccl
  33. #+lispworks :stream
  34. #-(or sbcl allegro cmu clisp openmcl lispworks) ...
  35. ,@common-symbols)
  36. (:export #:trivial-gray-stream-mixin
  37. #:stream-read-sequence
  38. #:stream-write-sequence
  39. ,@common-symbols)))))
  40. (frob))