package.lisp 1.8 KB

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