Function: vertico-multiform--toggle-mode-1

vertico-multiform--toggle-mode-1 is a byte-compiled function defined in vertico-multiform.el.

Signature

(vertico-multiform--toggle-mode-1 MODE ARG)

Documentation

Enable or disable MODE temporarily in minibuffer given ARG.

ARG can be nil, t, -1, 1 or toggle.

Source Code

;; Defined in ~/.emacs.d/elpa/vertico-20260811.1003/vertico-multiform.el
(defun vertico-multiform--toggle-mode-1 (mode arg)
  "Enable or disable MODE temporarily in minibuffer given ARG.
ARG can be nil, t, -1, 1 or toggle."
  (unless (minibufferp)
    (user-error "`%s' must be called inside the minibuffer" this-command))
  (unless vertico-multiform-mode
    (user-error "`vertico-multiform-mode' is not enabled"))
  (setq arg (pcase arg
              ('toggle (not (and (boundp mode) (symbol-value mode))))
              ((or 'nil 't) arg)
              (_ (> arg 0))))
  (unless (eq arg (and (boundp mode) (symbol-value mode)))
    (funcall mode (if arg 1 -1))
    (let ((modes (car vertico-multiform--stack))
          (not-mode (cons :not mode)))
      (when arg
        (cl-rotatef not-mode mode))
      (if (member mode modes)
          (setcar vertico-multiform--stack (remove mode modes))
        (push not-mode (car vertico-multiform--stack))))))