 
 (defun radian--mode-line-recompute-and-reschedule ()
   "Compute mode line data and re-set timers.
-The delay is `radian--mode-line-update-delay'. The timers are
+The delay is `radian-mode-line-update-delay'. The timers are
 `radian--mode-line-idle-timer' and
 `radian--mode-line-repeat-timer'."
 

                (git
                 (format "  [%s%s]" branch-name dirty))))))
        (unless (equal old new)
          (setq radian--mode-line-project-and-branch new)
          (force-mode-line-update)))
    (error
     ;; We should not usually get an error here. In the case that we
     ;; do, however, let's try to avoid displaying garbage data, and
     ;; instead delete the construct entirely from the mode line.
     (unless (null radian--mode-line-project-and-branch)
       (setq radian--mode-line-project-and-branch nil)
       (force-mode-line-update)))))

;; We will make sure this information is updated after some time of
;; inactivity, for the current buffer.

(defvar radian--mode-line-update-delay 1
  "Seconds of inactivity before updating the mode line.
Specifically, this entails updating the Projectile project, Git
branch, and dirty status, which are the most computationally
taxing elements.")

;; We only need one global timer pair for all the buffers, since we
;; will only be updating the cached mode line value for the current

    ;; Show the row and column of point.
    mode-line-position
    ;; Show the current Projectile project and Git branch.
    radian-mode-line-project-and-branch
    ;; Show the active major and minor modes.
    "  "
    mode-line-modes)
  "Composite mode line construct to be shown left-aligned."
  :type 'sexp)

(defcustom radian-mode-line-right nil
  "Composite mode line construct to be shown right-aligned."
  :type 'sexp)

;; Actually reset the mode line format to show all the things we just
;; defined.
