branch: externals/tmr
commit b1aa243d907090b2ea028a4fb50f0aed43ab2df5
Author: Daniel Mendler <[email protected]>
Commit: Protesilaos Stavrou <[email protected]>
Fix completion table, handle null completion
---
tmr.el | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/tmr.el b/tmr.el
index 0626c9acd9..c70c0ea025 100644
--- a/tmr.el
+++ b/tmr.el
@@ -291,7 +291,8 @@ that are still running."
timer-list 'tmr-timer #'tmr--timer-annotation)
nil t)
timer-list))))
- (and selected (get-text-property 0 'tmr-timer selected)))))))
+ (or (and selected (get-text-property 0 'tmr-timer selected))
+ (user-error "No timer selected")))))))
;; NOTE 2022-04-21: Emacs has a `play-sound' function but it only
;; supports .wav and .au formats. Also, it does not work on all
@@ -431,14 +432,17 @@ Without a PROMPT, clone TIMER outright."
(tmr--description-prompt (tmr--timer-description timer))
(tmr--timer-description timer))))
-(defun tmr--completion-table (candidates &optional category)
- "Return completion table for CANDIDATES of CATEGORY with sorting disabled."
- (lambda (str pred action)
- (if (eq action 'metadata)
- `(metadata (display-sort-function . identity)
- (cycle-sort-function . identity)
- (category . ,category))
- (complete-with-action action candidates str pred))))
+(defun tmr--completion-table (candidates &optional category annotation)
+ "Make completion table for CANDIDATES with sorting disabled.
+CATEGORY is the completion category.
+ANNOTATION is an annotation function."
+ (lambda (str pred action)
+ (if (eq action 'metadata)
+ `(metadata (display-sort-function . identity)
+ (cycle-sort-function . identity)
+ (annotation-function . ,annotation)
+ (category . ,category))
+ (complete-with-action action candidates str pred))))
(provide 'tmr)
;;; tmr.el ends here