+(defun elopher-text-filter (proc string)
+ (with-current-buffer (get-buffer "*elopher*")
+ (let ((marker (process-mark proc)))
+ (if (not (marker-position marker))
+ (set-marker marker 0 (current-buffer)))
+ (save-excursion
+ (goto-char marker)
+ (insert string)
+ (set-marker marker (point))))))
+
+(defun elopher-get-text (host port selector)
+ (switch-to-buffer "*elopher*")
+ (erase-buffer)
+ (make-network-process
+ :name "elopher-process"
+ :host host
+ :service port
+ :filter #'elopher-text-filter)
+ (process-send-string "elopher-process" (concat selector "\n")))
+