(setq _red/current-message nil)
(setq _red/current-status nil)

(defun _red/set-message (var args)
  (let
    (value (if (nil? args)
             nil
             (string/join (map ->string args))))
    (set var value)))

(defun red/message (&rest args) (_red/set-message '_red/current-message args))
(defun red/status (&rest args) (_red/set-message '_red/current-status args))

(defun red/clear-message () (setq _red/current-message nil))
(defun red/clear-status () (setq _red/current-status nil))
