     (if (and (in-view) (equal tn-mode tn-edit-mode))
         (request-view t tn-readonly-mode tn-root-id tn-depth tn-style tn-min-sharability tn-max-sharability tn-default-sharability tn-min-weight tn-max-weight tn-default-weight)))
 
-(defun tn-choose-depth ()
-    (interactive)
-    (let ((depth (read-character-as-number)))
-            (if (< depth 1) (error-message (concat "depth of " (number-to-string depth) " is too low (must be >= 1)"))
-                (if (> depth 5) (error-message (concat "depth of " (number-to-string depth) " is too high (must be <= 5)"))
-                    (request-view nil tn-mode tn-root-id depth tn-style tn-min-sharability tn-max-sharability tn-default-sharability tn-min-weight tn-max-weight tn-default-weight)))))
-
-(defun tn-refresh-to-forward-view ()
+(defun tn-choose-depth (expr)
+    (interactive)
+    (let ((depth (number-shorthand-to-number expr)))
+        (if (< depth 1) (error-message (concat "depth of " (number-to-string depth) " is too low (must be >= 1)"))
+            (if (> depth 5) (error-message (concat "depth of " (number-to-string depth) " is too high (must be <= 5)"))
+                (request-view nil tn-mode tn-root-id depth tn-style tn-min-sharability tn-max-sharability tn-default-sharability tn-min-weight tn-max-weight tn-default-weight)))))
+
+(defun tn-update-to-forward-view ()
     (interactive)
     (if (in-view)
         (request-view nil tn-mode tn-root-id tn-depth tn-forward-view-style tn-min-sharability tn-max-sharability tn-default-sharability tn-min-weight tn-max-weight tn-default-weight)))
 
-(defun tn-refresh-to-backward-view ()
+(defun tn-update-to-backward-view ()
     (interactive)
     (if (in-view)
         (request-view nil tn-mode tn-root-id tn-depth tn-backward-view-style tn-min-sharability tn-max-sharability tn-default-sharability tn-min-weight tn-max-weight tn-default-weight)))

(defun no-target ()
    (error-message "there is no target associated with this line"))
    
(defun tn-refresh-view ()
    (interactive)
    (if (in-view)
        (request-view t tn-mode tn-root-id tn-depth tn-style tn-min-sharability tn-max-sharability tn-default-sharability tn-min-weight tn-max-weight tn-default-weight)))

        (error-message
            (concat "priority " (number-to-string v) " is outside of range [0, 1]"))))

(defun tn-set-target-priority (expr)
    (interactive)
    (let ((n (number-shorthand-to-number expr)))
        (if n (set-target-priority (/ n 4.0)))))

(defun set-target-sharability (v)
    (if (and (> v 0) (<= v 1))
