]> git.eshelyaron.com Git - emacs.git/commitdiff
(describe-mode-local-bindings[-in-mode]): Add 'minibuffer-action'
authorEshel Yaron <me@eshelyaron.com>
Fri, 21 Jun 2024 19:53:20 +0000 (21:53 +0200)
committerEshel Yaron <me@eshelyaron.com>
Fri, 21 Jun 2024 19:53:20 +0000 (21:53 +0200)
lisp/mode-local.el

index 9f11b9707bd58c7290f88fc0e4edc3c6faa84584..a96b7df26ba3654105a3c01cb950aaf083be5d71 100644 (file)
@@ -869,15 +869,22 @@ invoked interactively."
   (when (setq buffer (get-buffer buffer))
     (mode-local-describe-bindings-1 buffer (called-interactively-p 'any))))
 
+(put 'describe-mode-local-bindings 'minibuffer-action "describe")
+
 (defun describe-mode-local-bindings-in-mode (mode)
   "Display mode local bindings active in MODE hierarchy."
   (interactive
-   (list (completing-read
-          "Mode: " obarray
-          (lambda (s) (get s 'mode-local-symbol-table))
-          t (symbol-name major-mode))))
+   (list (let ((def (when (get major-mode 'mode-local-symbol-table)
+                      major-mode)))
+           (completing-read
+            (format-prompt "Mode" def) obarray
+            (lambda (s) (get s 'mode-local-symbol-table))
+            t nil nil def))))
   (when (setq mode (intern-soft mode))
     (mode-local-describe-bindings-1 mode (called-interactively-p 'any))))
+
+(put 'describe-mode-local-bindings-in-mode 'minibuffer-action "describe")
+
 \f
 (add-hook 'find-file-hook #'mode-local-post-major-mode-change)
 (add-hook 'change-major-mode-hook #'mode-local-on-major-mode-change)