Function: hyperbole-set-key

hyperbole-set-key is an autoloaded, interactive and byte-compiled function defined in hui-mini.el.

Signature

(hyperbole-set-key KEYMAP KEY BINDING)

Documentation

In KEYMAP, bind KEY to Hyperbole minibuffer BINDING.

If KEYMAP is nil, use the value of (global-key-map).

KEY is a key sequence; noninteractively, it is a string or vector of characters or event types, and non-ASCII characters with codes above 127 (such as ISO Latin-1) can be included if you use a vector.

BINDING is one of:
  nil - immediately remove key binding from keymap
  string - upon key press, execute the BINDING string as a key series
  command - upon key press, run the command interactively.

Note that other local or minor mode bindings may shadow/override any binding made with this function.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hui-mini.el
;;;###autoload
(defun hyperbole-set-key (keymap key binding)
  "In KEYMAP, bind KEY to Hyperbole minibuffer BINDING.
If KEYMAP is nil, use the value of (global-key-map).

KEY is a key sequence; noninteractively, it is a string or vector
of characters or event types, and non-ASCII characters with codes
above 127 (such as ISO Latin-1) can be included if you use a vector.

BINDING is one of:
  nil     - immediately remove key binding from keymap
  string  - upon key press, execute the BINDING string as a key series
  command - upon key press, run the command interactively.

Note that other local or minor mode bindings may shadow/override any
binding made with this function."
  (interactive
   (let* ((menu-prompting nil)
          (key (read-key-sequence "Set Hyperbole key globally: ")))
     (setq hui:menu-keys "")
     (list nil
	   key
	   ;; Read Hyperbole minibuffer menu keys to bind to 'key' in 'keymap'
	   (concat
	    ;; Normalize the key prefix that invokes the Hyperbole minibuffer menu
	    (kbd (key-description (car (where-is-internal 'hyperbole))))
	    (hui:get-keys)))))
  (when (and keymap (not (keymapp keymap)))
    (error "(hyperbole-set-key): First arg must be either nil or a keymap, not '%s'" keymap))
  (unless keymap
    (setq keymap (current-global-map)))
  (or (vectorp key) (stringp key)
      (error "(hyperbole-set-key): Second arg must be a vector or string key sequence, not '%s'" key))
  (prog1 (cond ((stringp binding)
		(if (string-empty-p binding)
		    (error "(hyperbole-set-key): Third arg must be a non-empty string")
		  (define-key keymap key `(lambda () (interactive) (kbd-key:act ,binding)))))
	       ((or (null binding) (commandp binding))
		(define-key keymap key binding))
	       (t
		(error "(hyperbole-set-key): Invalid binding for {%s}: '%s'" key binding)))
    (when (called-interactively-p 'interactive)
      (message "{%s} set to invoke {%s}" (key-description key) binding))))