comparison lisp/minibuf.el @ 4384:c7e65155cb35

Improve upon previous patch to minibuf.el. 2008-01-02 Mike Sperber <mike@xemacs.org> * minibuf.el (mouse-read-file-name-1): Use `window-height' instead of `frame-height' to be consistent with `split-window''s calculations. Bind `window-min-height' to 1 for the entire interaction to avoid various "window-too-small"-type problems.
author Mike Sperber <sperber@deinprogramm.de>
date Sat, 05 Jan 2008 16:13:04 +0100
parents 53e507d77416
children 9a1a59b4b75d
comparison
equal deleted inserted replaced
4383:1e04b9c8125b 4384:c7e65155cb35
2058 (filebuf (get-buffer-create "*Completions*")) 2058 (filebuf (get-buffer-create "*Completions*"))
2059 (dirbuf (and file-p (generate-new-buffer " *mouse-read-file*"))) 2059 (dirbuf (and file-p (generate-new-buffer " *mouse-read-file*")))
2060 (butbuf (generate-new-buffer " *mouse-read-file-buttons*")) 2060 (butbuf (generate-new-buffer " *mouse-read-file-buttons*"))
2061 (frame (make-dialog-frame)) 2061 (frame (make-dialog-frame))
2062 filewin dirwin 2062 filewin dirwin
2063 user-data) 2063 user-data
2064 (window-min-height 1)) ; allow button window to be height 2
2064 (unwind-protect 2065 (unwind-protect
2065 (progn 2066 (progn
2066 (reset-buffer filebuf) 2067 (reset-buffer filebuf)
2067 2068
2068 ;; set up the frame. 2069 ;; set up the frame.
2069 (focus-frame frame) 2070 (focus-frame frame)
2070 ;; We really need `window-min-height' lines for the button 2071 (split-window nil (- (window-height) 2))
2071 ;; buffer, as otherwise the button buffer might get
2072 ;; inadvertently deleted when other window-size changes
2073 ;; happen (such as through resize-minibuffer-mode).
2074 (split-window nil (- (frame-height frame) window-min-height))
2075 (if file-p 2072 (if file-p
2076 (progn 2073 (progn
2077 (split-window-horizontally 16) 2074 (split-window-horizontally 16)
2078 (setq filewin (frame-rightmost-window frame) 2075 (setq filewin (frame-rightmost-window frame)
2079 dirwin (frame-leftmost-window frame)) 2076 dirwin (frame-leftmost-window frame))