- (setq alist (eval alist))))
- (completion (try-completion prefix alist)))
- (cond ((eq completion t)
- (when completion-ignore-case
- ;; Replace field with completion in case its case is different.
- (delete-region (widget-field-start widget)
- (widget-field-end widget))
- (insert-and-inherit (car (assoc-ignore-case prefix alist))))
- (message "Only match"))
- ((null completion)
- (error "No match"))
- ((not (eq t (compare-strings prefix nil nil completion nil nil
- completion-ignore-case)))
- (when completion-ignore-case
- ;; Replace field with completion in case its case is different.
- (delete-region (widget-field-start widget)
- (widget-field-end widget))
- (insert-and-inherit completion)))
- (t
- (message "Making completion list...")
- (with-output-to-temp-buffer "*Completions*"
- (display-completion-list
- (all-completions prefix alist nil)))
- (message "Making completion list...done")))))
+ (setq alist (eval alist)))))
+ (completion-in-region (widget-field-start widget)
+ (max (point) (widget-field-text-end widget))
+ alist)))