Function: kbd-key:is-p

kbd-key:is-p is a byte-compiled function defined in hib-kbd.el.

Signature

(kbd-key:is-p STR)

Documentation

Return the non-delimited, normalized form, of a delimited key series, STR.

When STR is a curly-brace {} delimited key series, a non-delimited, normalized form is returned, else nil. Key sequences should be in human readable form, e.g. {\C-x \C-b}, or what key-description returns. Forms such as {\C-b}, {\^b}, and
{\^M} will not be recognized.

Any key sequence within the series must be a string of one of the following:
  a Hyperbole minibuffer menu item key sequence,
  a HyControl key sequence,
  a \M-x extended command,
  or a valid key sequence together with its interactive arguments.

Source Code

;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hib-kbd.el
(defun kbd-key:is-p (str)
  "Return the non-delimited, normalized form, of a delimited key series, STR.
When STR is a curly-brace {} delimited key series, a
non-delimited, normalized form is returned, else nil.  Key
sequences should be in human readable form, e.g. {\\`C-x' \\`C-b'}, or
what `key-description' returns.  Forms such as {\\`C-b'}, {\\`^b'}, and
{\\`^M'} will not be recognized.

Any key sequence within the series must be a string of one of the following:
  a Hyperbole minibuffer menu item key sequence,
  a HyControl key sequence,
  a \\`M-x' extended command,
  or a valid key sequence together with its interactive arguments."
  ;; Handle long series, e.g. eval-elisp actions
  (let* ((hbut:max-len (max 3000 (hbut:max-len)))
	 ;; STR must include delimiters but they are stripped from `key-series'.
	 (key-series (or (kbd-key:remove-delimiters str "{`" "'}")
			 (kbd-key:remove-delimiters str "{" "}")
			 ;; Regular dual single quotes (Texinfo smart quotes)
			 (kbd-key:remove-delimiters str "``" "''")
			 ;; Typical GNU manual key sequences; note
			 ;; these are special quote marks, not the
			 ;; standard ASCII characters.
			 (kbd-key:remove-delimiters str "‘" "’")))
	 binding)
    (when (and (stringp key-series)
	       (not (string-equal key-series "")))
      (setq key-series (kbd-key:normalize key-series)
	    binding (kbd-key:binding key-series)))
    (and (stringp key-series)
	 (or (and binding (not (integerp binding)))
	     (kbd-key:special-sequence-p key-series))
	 key-series)))