|
|
- ;;; swank-buffer-streams.lisp --- Streams that output to a buffer
- ;;;
- ;;; Authors: Ed Langley <el-github@elangley.org>
- ;;;
- ;;; License: This code has been placed in the Public Domain. All warranties
- ;;; are disclaimed.
-
- (in-package :swank)
-
- (defpackage :swank-buffer-streams
- (:use :cl)
- (:import-from :swank
- defslimefun
- add-hook
- encode-message
- send-event
- find-thread
- dcase
- current-socket-io
- send-to-emacs
- current-thread-id
- wait-for-event
-
- *emacs-connection*
- *event-hook*)
- (:export make-buffer-output-stream))
-
- (in-package :swank-buffer-streams)
-
- (defun get-temporary-identifier ()
- (intern (symbol-name (gensym "BUFFER"))
- :keyword))
-
- (defun make-buffer-output-stream (&optional (target-identifier (get-temporary-identifier)))
- (swank:ed-rpc '#:slime-make-buffer-stream-target (current-thread-id) target-identifier)
- (values (swank:make-output-stream-for-target *emacs-connection* target-identifier)
- target-identifier))
-
- (provide :swank-buffer-streams)
|