> but now noticed that after typing 'C-h m' it fails with: > > Debugger entered--Lisp error: (args-out-of-range 1786) > mouse-posn-property((# 1786 (0 . 0) 0) context-menu-function) > context-menu-map() > (lambda (_) (context-menu-map))(ignore) > where-is-internal(ignore nil t) > #f(compiled-function (sym) #)(ignore) > help-fns--list-local-commands() > describe-mode() > funcall-interactively(describe-mode) > command-execute(describe-mode) This bug still exists in emacs-28: emacs-28 -Q 1. context-menu-mode 2. C-h C-n M-> 3. C-h m Debugger entered--Lisp error: (args-out-of-range # 1 37446) parse-partial-sexp(1 37446) syntax-ppss(37446) context-menu-region((keymap #("Context Menu" 0 12 (hide t)) (separator-undo "--") (separator-region "--")) 109) #f(compiled-function (fun) #)(context-menu-region) run-hook-wrapped(#f(compiled-function (fun) #) context-menu-region) context-menu-map() (lambda (_) (context-menu-map))(ignore) where-is-internal(ignore nil t) #f(compiled-function (sym) #)(ignore) help-fns--list-local-commands() describe-mode() funcall-interactively(describe-mode) call-interactively(describe-mode nil nil) command-execute(describe-mode) I don't know if this is the right fix, but it avoids the error by explicitly switching to window-buffer when context-menu is called by describe-mode: