              (/= beg end))
     (setq-local
      emdocs-undo-list
-     (cons (list :type "delete" :point beg :end end
+     (cons (list :type "delete" :point beg
                  :content (buffer-substring-no-properties beg end)
                  :local (not emdocs-is-network-insert))
            emdocs-undo-list))))

(defun emdocs-undo ()
  "docstring"
  (interactive)
  ())

(defun emdocs-attach-to-buffer (buffer ip)
  "docstring"

  (emdocs-broadcast-message
   (concat
    (json-encode
     (list :buffer buffer
           :edit_type type
           :point point
           :content content))
    "\n")))

(defun emdocs-update-undo-list (beg end prev-length)
  "docstring"
  )

(defun emdocs-after-change-function (beg end prev-length)
  "docstring"
