]> code.delx.au - gnu-emacs/blobdiff - lisp/help-macro.el
Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca
[gnu-emacs] / lisp / help-macro.el
index 2e0f7fad53900f7ba18fffdacc94724ae01072b7..566f15975967709b55a2241d8e6454bd9cb37984 100644 (file)
@@ -1,7 +1,6 @@
 ;;; help-macro.el --- makes command line help such as help-for-help
 
-;; Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 1993-1994, 2001-2013 Free Software Foundation, Inc.
 
 ;; Author: Lynn Slater <lrs@indetech.com>
 ;; Maintainer: FSF
 
 (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.
@@ -131,7 +134,7 @@ 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))
                                   prev-frame))
@@ -185,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))
@@ -202,5 +208,4 @@ and then returns."
 
 (provide 'help-macro)
 
-;; arch-tag: 59fee949-1686-485a-8a05-83418073e257
 ;;; help-macro.el ends here