GNU bug report logs - #19012
25.0.50; `help-window-select'

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Mon, 10 Nov 2014 16:43:03 UTC

Severity: minor

Found in version 25.0.50

Done: martin rudalics <rudalics <at> gmx.at>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 19012 <at> debbugs.gnu.org (full text, mbox):

From: martin rudalics <rudalics <at> gmx.at>
To: Drew Adams <drew.adams <at> oracle.com>, 19012 <at> debbugs.gnu.org
Subject: Re: bug#19012: 25.0.50; `help-window-select'
Date: Tue, 11 Nov 2014 19:31:55 +0100
This one is at least dubious

>      (setq return-window  (select-window
                             ^^^^^^^^^^^^^
>                            (funcall special-display-function buf args)))

According to its doc-string `display-buffer' should

  Display BUFFER-OR-NAME in some window, without selecting it.

As a rule, `display-buffer' should not select the window used.
Otherwise, `with-help-window' cannot determine the correct window to
select when quitting help.

However, with the current release and trunk, emacs -Q and

(defun 1on1-display-*Help*-frame (buf &optional args)
  "Display *Help* buffer in its own frame.
`special-display-function' is used to do the actual displaying.
BUF and ARGS are the arguments to `special-display-function'."
  (let ((old-ptr-shape  (and (boundp 'x-pointer-shape) x-pointer-shape))
        return-window)
    (when (boundp 'x-pointer-xterm)
      (setq x-pointer-shape  x-pointer-xterm))
    (setq return-window  (select-window
                          (funcall special-display-function buf args)))
    (raise-frame)
    (setq x-pointer-shape  old-ptr-shape)
    return-window))

(add-to-list
 'special-display-buffer-names
 (list "*Help*" '1on1-display-*Help*-frame
       (list '(height . 40))))

the *Help* window is always selected here after C-h f, C-h v, ...

martin




This bug report was last modified 10 years and 155 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.