The prefix described consists of all but the last event
of the key sequence that ran this command."
(interactive)
- (let ((key (this-command-keys)))
- (describe-bindings
- (if (stringp key)
- (substring key 0 (1- (length key)))
- (let ((prefix (make-vector (1- (length key)) nil))
- (i 0))
- (while (< i (length prefix))
- (aset prefix i (aref key i))
- (setq i (1+ i)))
- prefix)))))
+ (let* ((key (this-command-keys))
+ (prefix
+ (if (stringp key)
+ (substring key 0 (1- (length key)))
+ (let ((prefix (make-vector (1- (length key)) nil))
+ (i 0))
+ (while (< i (length prefix))
+ (aset prefix i (aref key i))
+ (setq i (1+ i)))
+ prefix))))
+ (describe-bindings prefix)
+ (with-current-buffer (help-buffer)
+ (when (< (buffer-size) 10)
+ (let ((inhibit-read-only t))
+ (insert (format "No commands with a binding that start with %s."
+ (help--key-description-fontified prefix))))))))
+
;; Make C-h after a prefix, when not specifically bound,
;; run describe-prefix-bindings.
(setq prefix-help-command 'describe-prefix-bindings)