X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/11fdef7d0cf3ef1ce30d1cd09ca9ca9a2b099d20..651182d070bfbb22a47133adf8d90c849e5e6467:/lisp/help-macro.el diff --git a/lisp/help-macro.el b/lisp/help-macro.el index 8efb99d42d..eb2f6249ce 100644 --- a/lisp/help-macro.el +++ b/lisp/help-macro.el @@ -1,9 +1,9 @@ ;;; help-macro.el --- makes command line help such as help-for-help -;; Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc. +;; Copyright (C) 1993-1994, 2001-2016 Free Software Foundation, Inc. ;; Author: Lynn Slater -;; Maintainer: FSF +;; Maintainer: emacs-devel@gnu.org ;; Created: Mon Oct 1 11:42:39 1990 ;; Adapted-By: ESR ;; Package: emacs @@ -69,6 +69,10 @@ (require 'backquote) +;; This needs to be autoloaded because it is used in the +;; make-help-screen macro. Using (bound-and-true-p three-step-help) +;; is not an acceptable alternative, because nothing loads help-macro +;; in a normal session, so any user customization would never be applied. ;;;###autoload (defcustom three-step-help nil "Non-nil means give more info about Help command in three steps. @@ -130,11 +134,11 @@ and then returns." (when (or (eq char ??) (eq char help-char) (memq char help-event-list)) (setq config (current-window-configuration)) - (switch-to-buffer-other-window "*Help*") + (pop-to-buffer " *Metahelp*" nil t) (and (fboundp 'make-frame) - (not (eq (window-frame (selected-window)) + (not (eq (window-frame) prev-frame)) - (setq new-frame (window-frame (selected-window)) + (setq new-frame (window-frame) config nil)) (setq buffer-read-only nil) (let ((inhibit-read-only t)) @@ -184,9 +188,12 @@ and then returns." (when config (set-window-configuration config) (setq config nil)) - ;; `defn' must make sure that its frame is - ;; selected, so we won't iconify it below. - (call-interactively defn) + ;; Temporarily rebind `minor-mode-map-alist' + ;; to `new-minor-mode-map-alist' (Bug#10454). + (let ((minor-mode-map-alist new-minor-mode-map-alist)) + ;; `defn' must make sure that its frame is + ;; selected, so we won't iconify it below. + (call-interactively defn)) (when new-frame ;; Do not iconify the selected frame. (unless (eq new-frame (selected-frame))