    (ip
     :initarg :ip
     :accessor emdocs-get-ip
+    :documentation "docstring")
+   (cur-msg
+    :initform ""
+    :accessor emdocs-get-cur-msg
     :documentation "docstring"))
   "docstring")
 
 (defmethod emdocs-set-process ((client emdocs-client) process)
+  "docstring"
   (setf (emdocs-get-process client) process))
+
+(defmethod emdocs-set-cur-msg ((client emdocs-client) msg)
+  "docstring"
+  (setf (emdocs-get-cur-msg client) msg))
 
 ;;; functions
 

             (equal (emdocs-get-process client) sock))
           *emdocs-outgoing-clients*))))

(defun emdocs-client-filter (client sock msg)
  "docstring"
  ;; assumes will only receive json from emdocs-after-change-function
  (with-current-buffer (emdocs-get-client-process-buffer
                        (emdocs-get-attached-buffer client))
    (goto-char (point-min))
    (insert "filter:" msg)
    (unless (bolp) (newline)))
  (if (string-match "^give me buffer and ip\n$" msg)
      (process-send-string
       sock


(defun emdocs-client-sentinel (client sock msg)
  "docstring"
  (with-current-buffer (emdocs-get-client-process-buffer
                        (emdocs-get-attached-buffer client))
    (goto-char (point-min))
    (insert "sentinel:" msg)
    (unless (bolp) (newline)))
