From: "Drew Adams" <drew.adams@oracle.com>
To: "'martin rudalics'" <rudalics@gmx.at>
Cc: 8856@debbugs.gnu.org
Subject: bug#8856: 24.0.50; regression: special-display-frame is no longer dedicated
Date: Tue, 21 Jun 2011 17:15:10 -0700 [thread overview]
Message-ID: <31769215C0FF4E1E89F9F641C5843E91@us.oracle.com> (raw)
In-Reply-To: <7AF0B637CAE14034973FBCC658AFEBD9@us.oracle.com>
[-- Attachment #1: Type: text/plain, Size: 1591 bytes --]
> 3. I do not see the read-only-error problem I reported
> earlier today from using my full setup, so this pared-down
> test is no longer sufficient to get that. I also do not see
> that error if I use the original recipe, with just hexrgb.el
> and oneonone.el. So I'll have to start again from my full
> setup and pare down to something smaller. I cannot do that
> right away, however.
OK, I've now pared down from my full setup again. Took quite a while.
Use the attached file, starting Emacs, as before, this way, where the first load
file is your latest window.el:
runemacs.exe -Q --debug-init -l "window-2011-06-21a-MARTIN.el" -l
"throw-three.el" -f "1on1-emacs"
Then, as before (but no need to exit to top level before typing more chars):
M-x f TAB o
When you hit TAB, *Completions* is shown in its frame, as expected. As soon as
you hit the second char (`o'), you get the read-only error.
Note: In the file, both of these two lines are necessary, to cause the error:
(add-hook 'post-command-hook '1on1-fit-minibuffer-frame)
(setq w32-grab-focus-on-raise nil)
The second is of course Windows-specific. If I comment that out then the error
is not raised, but instead when I hit `o' the focus just changes to the
minibuffer (no `o' char appears in the minibuffer at this point).
I can tell that the focus changes because the frame border shows that (the
active frame border is a diff color from inactive frame borders - this is a
window mgr thing, not an Emacs thing).
Then, if I hit `o' a second time it (a single `o' is inserted in the minibuffer.
Thx/HTH.
[-- Attachment #2: throw-three.el --]
[-- Type: application/octet-stream, Size: 7610 bytes --]
(setq debug-on-error t)
(load-file "c:/drews-lisp-20/hexrgb.el")
(load-file "c:/drews-lisp-20/fit-frame.el")
;;; Minibuffer frame: ********************************
;;;
(defvar 1on1-minibuffer-frame nil "")
(defcustom 1on1-minibuffer-frame-alist
(list
(assq 'foreground-color minibuffer-frame-alist)
(or (assq 'background-color minibuffer-frame-alist)
(cons 'background-color "LightBlue"))
(assq 'font minibuffer-frame-alist)
(assq 'mouse-color minibuffer-frame-alist)
(assq 'cursor-color minibuffer-frame-alist)
(or (assq 'menu-bar-lines minibuffer-frame-alist)
(cons 'menu-bar-lines 0))
(or (assq 'left minibuffer-frame-alist)
(cons 'left 0))
(or (assq 'height minibuffer-frame-alist)
(cons 'height 2))
(or (assq 'icon-type minibuffer-frame-alist)
(cons 'icon-type (< emacs-major-version 21))) ; `t' for Emacs 21 too?
(or (assq 'minibuffer minibuffer-frame-alist)
(cons 'minibuffer 'only))
(or (assq 'user-position minibuffer-frame-alist)
(cons 'user-position t))
(or (assq 'vertical-scroll-bars minibuffer-frame-alist) ; No scroll bar.
(cons 'vertical-scroll-bars nil))
(or (assq 'name minibuffer-frame-alist)
(cons 'name "Emacs Minibuffer")))
""
:type '(repeat (cons :format "%v" (symbol :tag "Frame Parameter") (sexp :tag "Value")))
:group 'One-On-One)
;;; *Completions* frame: ********************************
(defcustom 1on1-default-frame-alist
(list
(assq 'foreground-color default-frame-alist)
(or (assq 'background-color default-frame-alist)
(cons 'background-color "LightBlue"))
(assq 'font default-frame-alist)
(assq 'mouse-color default-frame-alist)
(assq 'cursor-color default-frame-alist)
(assq 'cursor-type default-frame-alist)
(or (assq 'menu-bar-lines default-frame-alist)
(cons 'menu-bar-lines 1))
(or (assq 'top default-frame-alist)
(cons 'top 0))
(or (assq 'left default-frame-alist)
(cons 'left 0))
(or (assq 'width default-frame-alist)
(cons 'width 80))
(or (assq 'height default-frame-alist)
(cons 'height 35))
(or (assq 'minibuffer default-frame-alist)
(cons 'minibuffer nil))
(or (assq 'user-position default-frame-alist)
(cons 'user-position t))
(or (assq 'vertical-scroll-bars default-frame-alist)
(cons 'vertical-scroll-bars 'right))
(or (assq 'icon-type default-frame-alist)
(cons 'icon-type (< emacs-major-version 21))) ; `t' for Emacs 21 too?
(or (assq 'tool-bar-lines default-frame-alist)
(cons 'tool-bar-lines 1)) ; Emacs 21+
(if (cdr (assq 'left-fringe default-frame-alist))
(assq 'left-fringe default-frame-alist)
(cons 'left-fringe 0)) ; Emacs 21+
(if (cdr (assq 'right-fringe default-frame-alist))
(assq 'right-fringe default-frame-alist)
(cons 'right-fringe 0)) ; Emacs 21+
(or (assq 'fringe default-frame-alist)
(cons 'fringe 0))) ; Emacs 21, but not 21.3.50 - REMOVE after 22.x
""
:type '(repeat (cons :format "%v" (symbol :tag "Frame Parameter") (sexp :tag "Value")))
:group 'frames)
;;; Special-display frames
(defcustom 1on1-special-display-frame-alist
(list
(assq 'font special-display-frame-alist)
(or (assq 'width special-display-frame-alist)
(cons 'width 80))
(or (assq 'height special-display-frame-alist)
(cons 'height 20))
(assq 'mouse-color special-display-frame-alist)
(assq 'cursor-color special-display-frame-alist)
(or (assq 'menu-bar-lines special-display-frame-alist)
(cons 'menu-bar-lines 1))
(assq 'foreground-color special-display-frame-alist)
(or (assq 'background-color special-display-frame-alist)
(cons 'background-color "LightSteelBlue"))
(or (assq 'top special-display-frame-alist)
(cons 'top 0))
(or (assq 'left special-display-frame-alist)
(cons 'left 0))
(or (assq 'unsplittable special-display-frame-alist)
(cons 'unsplittable t))
(or (assq 'user-position special-display-frame-alist)
(cons 'user-position t))
(or (assq 'vertical-scroll-bars special-display-frame-alist)
(cons 'vertical-scroll-bars 'right)))
""
:type '(repeat (cons :format "%v" (symbol :tag "Frame Parameter") (sexp :tag "Value")))
:group 'frames)
(defun 1on1-emacs ()
""
(interactive)
(unless (if (fboundp 'display-graphic-p) (display-graphic-p) window-system)
(error "Use `1on1-emacs' only with a graphics display, not with a text terminal"))
(setq default-frame-alist (append 1on1-default-frame-alist default-frame-alist)
special-display-frame-alist (append 1on1-special-display-frame-alist
special-display-frame-alist))
(add-to-list ; *Help* frame
'special-display-buffer-names
(list "*Help*" '1on1-display-*Help*-frame
(list (cons 'background-color "Thistle")
'(height . 40))))
(add-to-list ; *Completions* frame
'special-display-buffer-names
`("*Completions*" 1on1-display-*Completions*-frame
((background-color . "LavenderBlush2")
(menu-bar-lines . 0) (tool-bar-lines . 0)
(width . 100))))
(setq pop-up-frames t)
;; Minibuffer frame
(setq minibuffer-frame-alist (append 1on1-minibuffer-frame-alist
minibuffer-frame-alist))
(if 1on1-minibuffer-frame
(modify-frame-parameters 1on1-minibuffer-frame 1on1-minibuffer-frame-alist)
(setq 1on1-minibuffer-frame
(make-frame 1on1-minibuffer-frame-alist)))
(set-frame-width 1on1-minibuffer-frame 150)
(modify-frame-parameters 1on1-minibuffer-frame `((top ,@ -50)))
(setq minibuffer-auto-raise t)
;; Hooks.
;; @@@
(add-hook 'post-command-hook '1on1-fit-minibuffer-frame)
(setq w32-grab-focus-on-raise nil)
;; @@@
)
(defun 1on1-display-*Help*-frame (buf &optional args)
""
(let (return-window)
(setq return-window (select-window (funcall special-display-function buf args)))
(raise-frame)
return-window))
(defun 1on1-display-*Completions*-frame (buf &optional args)
""
(let (return-window)
(setq return-window (select-window (funcall special-display-function buf args)))
(raise-frame)
(when (boundp '1on1-minibuffer-frame)
(redirect-frame-focus (selected-frame) 1on1-minibuffer-frame))
return-window))
;; @@@
(defun 1on1-fit-minibuffer-frame ()
""
(interactive)
(when (and (active-minibuffer-window)
(save-selected-window
(select-window (minibuffer-window))
(one-window-p nil 'selected-frame)))
(let* ((frame (save-selected-window
(select-window (minibuffer-window)) (selected-frame)))
(frame-height (frame-height frame)))
(cond
((eq last-command '1on1-fit-minibuffer-frame)
(set-frame-height frame (1+ (frame-height frame)))
(modify-frame-parameters 1on1-minibuffer-frame `((top ,@ -50)))
(condition-case nil (scroll-down (frame-height frame)) (error nil)))
(t
(let ((window-min-height 2))
(modify-frame-parameters 1on1-minibuffer-frame `((top ,@ -50)))
(condition-case nil (scroll-down (frame-height frame)) (error nil))))))))
;; @@@
\f
(load-file "c:/drews-lisp-20/window-2011-06-21a-MARTIN.el")
next prev parent reply other threads:[~2011-06-22 0:15 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-13 16:08 bug#8851: 24.0.50; regression: special-display-frame is no longer dedicated Drew Adams
2011-06-13 18:00 ` martin rudalics
2011-06-13 18:41 ` Drew Adams
2011-06-14 9:15 ` martin rudalics
2011-06-14 20:36 ` Drew Adams
[not found] ` <4DFB6BBF.3080504@gmx.at>
2011-06-17 15:51 ` Drew Adams
2011-06-17 16:22 ` bug#8856: " martin rudalics
2011-06-17 17:48 ` Drew Adams
2011-06-19 17:29 ` Drew Adams
2011-06-20 3:04 ` Stefan Monnier
2011-06-17 17:48 ` bug#8856: " Drew Adams
2011-06-19 13:26 ` martin rudalics
2011-06-19 14:31 ` bug#8856: 24.0.50;regression: `special-display-frame' broken Drew Adams
2011-06-19 18:50 ` Chong Yidong
2011-06-19 18:54 ` Drew Adams
[not found] ` <4DFE09A7.10500@gmx.at>
2011-06-19 14:43 ` bug#8856: 24.0.50; regression: special-display-frame is no longer dedicated Drew Adams
2011-06-19 17:26 ` Drew Adams
2011-06-19 18:40 ` martin rudalics
2011-06-19 19:34 ` bug#8856: 24.0.50; regression: `special-display-popup-frame' broken Drew Adams
2011-06-19 19:52 ` Drew Adams
2011-06-20 9:46 ` bug#8856: 24.0.50; regression: special-display-frame is no longer dedicated martin rudalics
2011-06-20 13:01 ` Drew Adams
[not found] ` <4E00C54C.5080108@gmx.at>
2011-06-21 18:10 ` Drew Adams
2011-06-22 0:13 ` Drew Adams
2011-06-22 0:14 ` Drew Adams
2011-06-22 0:15 ` Drew Adams [this message]
2011-06-23 16:45 ` Drew Adams
[not found] ` <4E033CBA.1050700@gmx.at>
[not found] ` <DB9EDF1C454F42A0BC437F0E0AEE6CA2@us.oracle.com>
[not found] ` <4E037708.2000205@gmx.at>
2011-06-23 22:06 ` Drew Adams
2011-06-24 8:53 ` martin rudalics
2011-06-24 21:21 ` Drew Adams
2011-06-25 14:15 ` martin rudalics
2011-06-25 14:52 ` Drew Adams
[not found] ` <8A3D5626004B4 945A624B69463A0B849@us.oracle.com>
2011-06-25 15:04 ` Drew Adams
2011-06-25 15:57 ` martin rudalics
2011-06-25 16:15 ` Drew Adams
2011-06-25 17:00 ` martin rudalics
2011-06-25 17:48 ` Drew Adams
2011-06-26 13:50 ` martin rudalics
2011-06-26 14:56 ` Drew Adams
[not found] ` <0721F495F4A441529FCB91280D284E42@us.oracle.com! >
2011-06-26 15:15 ` Drew Adams
2011-06-26 15:54 ` martin rudalics
2011-06-26 16:06 ` Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=31769215C0FF4E1E89F9F641C5843E91@us.oracle.com \
--to=drew.adams@oracle.com \
--cc=8856@debbugs.gnu.org \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).