- (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))))