 
 
 (defun live-py-synchronize-scroll ()
+  "Synchronise scrolling between Python and live-py buffers."
   (let ((code-window-start (+ (count-lines 1 (window-start)) 1))
         (position (line-number-at-pos)))
     (unless (window-valid-p live-py-output-window)

(defun live-py-after-change-function (start stop len)
  "Run the buffer through the code tracer and show results in the trace buffer"
  (when live-py-timer (cancel-timer live-py-timer))
  (set 'live-py-timer (run-at-time 0.5 nil 'live-py-trace)))


(defun live-py-trace ()
  (let* ((tracer-path (locate-file "code_tracer.py" load-path))
         (buffer-dir (file-name-directory (buffer-file-name)))
         (command-line (concat "python " tracer-path))



(defun live-py-show-output-window ()
  "Show the live-py output window."
  (delete-other-windows)
  (get-buffer-create live-py-output-buffer)
  (with-current-buffer live-py-output-buffer
