X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Flist-mode.el;h=454418670be89531b6e6c8ee76e4c78ee02d5abb;hb=528ca5c9afc87d2d698ce64b29cc9b069d09894f;hp=25d2418951f50f102612d6cfcb6f9348a3e2495b;hpb=2fd9701a4f902054649dde9143a3f77809afee8f;p=chise%2Fxemacs-chise.git.1 diff --git a/lisp/list-mode.el b/lisp/list-mode.el index 25d2418..4544186 100644 --- a/lisp/list-mode.el +++ b/lisp/list-mode.el @@ -330,19 +330,13 @@ If `completion-highlight-first-word-only' is non-nil, then only the start (let ((win-width (or cl-window-width (if bufferp - ;; This needs fixing for the case of windows - ;; that aren't the same width's the frame. - ;; Sadly, the window it will appear in is not known - ;; until after the text has been made. - ;; We have to use last-nonminibuf-frame here ;; and not selected-frame because if a ;; minibuffer-only frame is being used it will ;; be the selected-frame at the point this is ;; run. We keep the selected-frame call around ;; just in case. - (frame-width (or (last-nonminibuf-frame) - (selected-frame))) + (window-width (get-lru-window (last-nonminibuf-frame))) 80)))) (let ((count 0) (max-width 0) @@ -571,23 +565,25 @@ Go to the window from which completion was requested." (and (button-event-p event) ;; Give temporary modes such as isearch a chance to turn off. (run-hooks 'mouse-leave-buffer-hook)) - (or buffer (setq buffer (symbol-value-in-buffer - 'completion-reference-buffer - (or (and (button-event-p event) - (event-buffer event)) - (current-buffer))))) - (save-selected-window - (and (button-event-p event) - (select-window (event-window event))) - (if (and (one-window-p t 'selected-frame) - (window-dedicated-p (selected-window))) - ;; This is a special buffer's frame - (iconify-frame (selected-frame)) - (or (window-dedicated-p (selected-window)) - (bury-buffer)))) - (choose-completion-string (extent-string extent) - buffer - completion-base-size)) + (let ((list-buffer (or (and (button-event-p event) + (event-buffer event)) + (current-buffer)))) + (or buffer (setq buffer (symbol-value-in-buffer + 'completion-reference-buffer + list-buffer))) + (save-selected-window + (and (button-event-p event) + (select-window (event-window event))) + (if (and (one-window-p t 'selected-frame) + (window-dedicated-p (selected-window))) + ;; This is a special buffer's frame + (iconify-frame (selected-frame)) + (or (window-dedicated-p (selected-window)) + (bury-buffer)))) + (choose-completion-string (extent-string extent) + buffer + (symbol-value-in-buffer 'completion-base-size + list-buffer)))) ;; Delete the longest partial match for STRING ;; that can be found before POINT.