(DEFUN UPDATE-COMMAND-WHO-LINE-DOCUMENTATION (COMMAND &OPTIONAL (TELL-WHO-LINE T) RECURSIVE
					              &AUX STRING FUNCTION)
  (IF (SETQ STRING (GET COMMAND :WHO-LINE-DOCUMENTATION))
      (condition-case ()
	  (SETF (ARRAY-LEADER STRING 0) 0)
	(array-has-no-leader
	 (setq string
	       (copy-array-contents
		 string
		 (make-array (string-length string)
			     :element-type 'string-char
			     :fill-pointer t
			     :leader-length 1)))
	 (setf (array-leader string 0) 0)))
      (SETQ STRING (MAKE-EMPTY-STRING 95.))
      (PUTPROP COMMAND STRING :WHO-LINE-DOCUMENTATION))
  (SETQ FUNCTION (GET COMMAND 'WHO-LINE-DOCUMENTATION-UPDATER))
  (IF RECURSIVE
      (FUNCALL FUNCTION STRING T)
    (FUNCALL FUNCTION STRING))
  (AND TELL-WHO-LINE
       (SEND TV:WHO-LINE-DOCUMENTATION-WINDOW :SET-WHO-LINE-ITEM-STATE NIL)))
