[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9072: 24.0.50; special-display buffer's window is no longer dedicate
From: |
martin rudalics |
Subject: |
bug#9072: 24.0.50; special-display buffer's window is no longer dedicated |
Date: |
Thu, 14 Jul 2011 10:36:12 +0200 |
User-agent: |
Thunderbird 2.0.0.21 (Windows/20090302) |
> 3. Make *Buffer List* be a special-display buffer:
>
> M-: (setq special-display-regexps '("[ ]?[*][^*]+[*]"))
>
> 4. C-x C-b
>
> 5. In *Buffer List*, click a buffer. It should be shown in a separate
> frame. Instead, it is shown in the same frame, taking the place of the
> *Buffer List* buffer. The window of *Buffer List* is not dedicated as
> it should be.
>
> This is a regression wrt a build from 2011-06-27, where there was no
> such problem.
Two typos similar to the ones earlier reported by Tassilo. I installed
a fix. Please use the version of `display-buffer-normalize-special'
below until Sean provides new binaries.
martin
(defun display-buffer-normalize-special (&optional args)
"Return buffer display specifiers for `special-display-frame-alist'."
(progn ;; <-- reserved for with-no-warnings
(if (and (listp args) (symbolp (car args)))
;; Note: `display-buffer' funcalls this so take "(nth 1 args)"
;; where `special-display-popup-frame' (which uses apply) takes
;; "(cdr args)".
`((function ,(car args) ,(nth 1 args)))
(append
'((reuse-window nil same 0))
(when (and (listp args) (cdr (assq 'same-window args)))
'((reuse-window same nil nil) (reuse-dedicated . weak)))
(when (and (listp args)
(or (cdr (assq 'same-frame args))
(cdr (assq 'same-window args))))
'((pop-up-window (largest . nil) (lru . nil))
(reuse-window nil nil nil)))
(unless display-buffer-mark-dedicated
;; Don't make anything created above dedicated unless requested.
;; Otherwise the dedication request below gets in our way.
'((dedicate . nil)))
`((pop-up-frame t)
,(append '(pop-up-frame-alist)
(when (listp args) args)
special-display-frame-alist)
(dedicate . t))))))