(let* ((pred (plist-get plist :predicate))
(completion-extra-properties plist)
(md (completion-metadata (buffer-substring beg end) table pred))
+ (ef (completion-metadata-get md 'exit-function))
(sf (completion-metadata-get md 'sort-function)))
`( ,beg ,end
,(completion-table-with-metadata
,@(plist-put
(copy-sequence plist)
:exit-function
- (lambda (str _sts)
+ (lambda (str sts)
(let* ((str (substring-no-properties str))
(ts (gethash str cache)))
(setf (gethash str cache)
- (cons (float-time) (1+ (or (cdr ts) 0))))))))))))))
+ (cons (float-time) (1+ (or (cdr ts) 0)))))
+ (when (functionp ef) (funcall ef str sts)))))))))))
(defun completion-at-point ()
"Perform completion on the text around point.