package.lisp 1.6 KB

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