                     buf)))
 
 (defun insert-text-prop-ring (pairs buf)
-  (push-to-ring pairs)
+  (push-buf-state-to-ring pairs)
   (insert-text-prop-alist pairs buf))
 
 (defun insert-traced-name (buf s)

  (interactive)
  (setq pos (point))
  (setq ns (get-text-property 1 'ns))
  (nrepl-send-sync-request (list "op" "sayid-trace-fn"
                                 "fn-name" (get-text-property (point) 'name)
                                 "fn-ns" (get-text-property (point) 'ns)
                                 "type" "inner"))
  (sayid-show-traced ns)
  (goto-char pos))

(defun sayid-traced-buf-outer-trace-fn ()
  (interactive)
  (setq pos (point))
  (setq ns (get-text-property 1 'ns))
  (nrepl-send-sync-request (list "op" "sayid-trace-fn"
                                 "fn-name" (get-text-property (point) 'name)
                                 "fn-ns" (get-text-property (point) 'ns)

    'sayid-replay-workspace-query-point)
  (define-key clojure-mode-map (kbd "C-c s w") 'sayid-get-workspace)
  (define-key clojure-mode-map (kbd "C-c s t y") 'sayid-trace-all-ns-in-dir)
  (define-key clojure-mode-map (kbd "C-c s t b") 'sayid-trace-ns-in-file)
  (define-key clojure-mode-map (kbd "C-c s t e") 'sayid-trace-fn-enable)   ;;TODO
  (define-key clojure-mode-map (kbd "C-c s t E") 'sayid-trace-enable-all)   ;;TODO
  (define-key clojure-mode-map (kbd "C-c s t d") 'sayid-trace-fn-disable)   ;;TODO
  (define-key clojure-mode-map (kbd "C-c s t D") 'sayid-trace-disable-all)   ;;TODO
  (define-key clojure-mode-map (kbd "C-c s t n") 'sayid-inner-trace-fn)   ;;TODO
  (define-key clojure-mode-map (kbd "C-c s t o") 'sayid-outer-trace-fn)   ;;TODO
  (define-key clojure-mode-map (kbd "C-c s t k") 'sayid-kill-all-traces)
  (define-key clojure-mode-map (kbd "C-c s c") 'sayid-clear-log)
  (define-key clojure-mode-map (kbd "C-c s x") 'sayid-reset-workspace)
  (define-key clojure-mode-map (kbd "C-c s s") 'sayid-show-traced)
