package.lisp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. #+ecl
  10. (eval-when (:compile-toplevel :load-toplevel :execute)
  11. (gray::redefine-cl-functions))
  12. (macrolet
  13. ((frob ()
  14. (let
  15. ((common-symbols
  16. '(#:fundamental-stream #:fundamental-input-stream
  17. #:fundamental-output-stream #:fundamental-character-stream
  18. #:fundamental-binary-stream #:fundamental-character-input-stream
  19. #:fundamental-character-output-stream
  20. #:fundamental-binary-input-stream
  21. #:fundamental-binary-output-stream #:stream-read-char
  22. #:stream-unread-char #:stream-read-char-no-hang
  23. #:stream-peek-char #:stream-listen #:stream-read-line
  24. #:stream-clear-input #:stream-write-char #:stream-line-column
  25. #:stream-start-line-p #:stream-write-string #:stream-terpri
  26. #:stream-fresh-line #:stream-finish-output #:stream-force-output
  27. #:stream-clear-output #:stream-advance-to-column
  28. #:stream-read-byte #:stream-write-byte)))
  29. `(defpackage :trivial-gray-streams
  30. (:use :cl)
  31. (:import-from #+sbcl :sb-gray
  32. #+allegro :excl
  33. #+cmu :ext
  34. #+clisp :gray
  35. #+openmcl :ccl
  36. #+lispworks :stream
  37. #+ecl :gray
  38. #-(or sbcl allegro cmu clisp openmcl lispworks ecl) ...
  39. ,@common-symbols)
  40. (:export #:trivial-gray-stream-mixin
  41. #:stream-read-sequence
  42. #:stream-write-sequence
  43. #:stream-file-position
  44. ,@common-symbols)))))
  45. (frob))