anchor.diff:  ;;; minibuffer.lisp --- major mode for input
   
   (in-package :next)
  -
  -;; TODO: We need to separate the minibuffer from the echo area.  The
  -;; `show'/`hide' functions are not dealing well with `echo'/`echo-dismiss'.
   
   (declaim (type (list-of-characters) *word-separation-characters*))
   (defparameter *word-separation-characters* '(#\: #\/ #\- #\. #\Space #\ )
  
positive.code:         (unless (str:emptyp text)
            (log:info "~s" text)))
      (error ()
        (log:warn "Failed to echo these args: ~s~&Possible improvements:
  - pass multiple arguments and use format strings for untrusted content. Don't pre-construct a single string that could contain tildes.
    example: do (echo \"directory is\ ~~a \"~~/Downloads/\")
             instead of (echo \"directory is ~~/Downloads/\")
  - use echo-safe or use the ~~s directive directly." args))))
  
  (serapeum:export-always 'echo-safe)
  (defun echo-safe (&rest args)
  
negative.code:                           (input-prompt nil explicit-input-prompt)
                            (input-buffer nil explicit-input-buffer)
                            (invisible-input-p nil explicit-invisible-input-p)
                            (show-completion-count t explicit-show-completion-count) ; TODO: Rename to hide-completion-count and reverse default value.
                            (history nil explicit-history)
                            (multi-selection-p nil explicit-multi-selection-p))
    "See the `minibuffer' class for the argument documentation."
  