Look up keybindings in correct buffer in describe-function.
* lisp/help-fns.el (help-fns--key-bindings): New parameter. Use it when looking up keybindings. (describe-function-1): Add the buffer in which the command was invoked as argument to 'help-fns--key-bindings'. Fixes bug#57568.
This commit is contained in:
parent
22bee93d92
commit
1d1158397b
1 changed files with 6 additions and 4 deletions
|
@ -510,13 +510,15 @@ the C sources, too."
|
|||
(src-file (locate-library file-name t nil 'readable)))
|
||||
(and src-file (file-readable-p src-file) src-file))))))
|
||||
|
||||
(defun help-fns--key-bindings (function)
|
||||
(defun help-fns--key-bindings (function orig-buffer)
|
||||
(when (commandp function)
|
||||
(let ((pt2 (with-current-buffer standard-output (point)))
|
||||
(remapped (command-remapping function)))
|
||||
(unless (memq remapped '(ignore undefined))
|
||||
(let* ((all-keys (where-is-internal
|
||||
(or remapped function) overriding-local-map nil nil))
|
||||
(let* ((all-keys
|
||||
(with-current-buffer orig-buffer
|
||||
(where-is-internal
|
||||
(or remapped function) overriding-local-map nil nil)))
|
||||
(seps (seq-group-by
|
||||
(lambda (key)
|
||||
(and (vectorp key)
|
||||
|
@ -1129,7 +1131,7 @@ Returns a list of the form (REAL-FUNCTION DEF ALIASED REAL-DEF)."
|
|||
(string-match "\\([^\\]=\\|[^=]\\|\\`\\)\\\\[[{<]" doc-raw)
|
||||
(autoload-do-load real-def))
|
||||
|
||||
(help-fns--key-bindings function)
|
||||
(help-fns--key-bindings function describe-function-orig-buffer)
|
||||
(with-current-buffer standard-output
|
||||
(let ((doc (condition-case nil
|
||||
;; FIXME: Maybe `help-fns--signature' should return `doc'
|
||||
|
|
Loading…
Add table
Reference in a new issue