Mercurial > hg > xemacs-beta
comparison lisp/minibuf.el @ 4376:53e507d77416
Fix problem with file dialog box.
2008-01-02 Mike Sperber <mike@xemacs.org>
* minibuf.el (mouse-read-file-name-1): Make the buttons in the
dialog frame occupy `window-min-height' lines to avoid problems
when the window configuration changes---as it does with
`resize-minibuffer-mode'.
author | Mike Sperber <sperber@deinprogramm.de> |
---|---|
date | Wed, 02 Jan 2008 10:08:07 +0100 |
parents | 38ef5a6da799 |
children | c7e65155cb35 |
comparison
equal
deleted
inserted
replaced
4375:74e0e1131e01 | 4376:53e507d77416 |
---|---|
2055 completer) | 2055 completer) |
2056 ;; file-p is t if we're reading files, nil if directories. | 2056 ;; file-p is t if we're reading files, nil if directories. |
2057 (let* ((file-p (eq 'read-file-name-internal completer)) | 2057 (let* ((file-p (eq 'read-file-name-internal completer)) |
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*")) | 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 (unwind-protect | 2064 (unwind-protect |
2065 (progn | 2065 (progn |
2066 (reset-buffer filebuf) | 2066 (reset-buffer filebuf) |
2067 | 2067 |
2068 ;; set up the frame. | 2068 ;; set up the frame. |
2069 (focus-frame frame) | 2069 (focus-frame frame) |
2070 (let ((window-min-height 1)) | 2070 ;; We really need `window-min-height' lines for the button |
2071 ;; #### should be 2 not 3, but that causes | 2071 ;; buffer, as otherwise the button buffer might get |
2072 ;; "window too small to split" errors for some | 2072 ;; inadvertently deleted when other window-size changes |
2073 ;; people (but not for me ...) There's a more | 2073 ;; happen (such as through resize-minibuffer-mode). |
2074 ;; fundamental bug somewhere. | 2074 (split-window nil (- (frame-height frame) window-min-height)) |
2075 (split-window nil (- (frame-height frame) 3))) | |
2076 (if file-p | 2075 (if file-p |
2077 (progn | 2076 (progn |
2078 (split-window-horizontally 16) | 2077 (split-window-horizontally 16) |
2079 (setq filewin (frame-rightmost-window frame) | 2078 (setq filewin (frame-rightmost-window frame) |
2080 dirwin (frame-leftmost-window frame)) | 2079 dirwin (frame-leftmost-window frame)) |