Daan Ro <daant...@gmail.com> writes: >> `string-match-p' matching the strings directly. > A candidate may have multiple appearances, like > "Author A ;; Author B ;;; ..." > `string-match-p' would only find the first ";;" and miss > ";;;". I thought s.el's `s-match-strings-all' should be more robust but > we can't use that so iteratively inserting and searching I went.
Agree. > + (seq-keep > + choice-to-citation > + (completing-read-multiple "Keys: " table nil t)))) This is not ideal according to my tests. The prompt does not display which separator string is used, so unsuspecting user will have no idea how to enter multiple citations at once. Especially for 'dynamic separator. We need to indicate which separator is used somehow. For example, here is what `org-agenda-filter' does in similar situation: (completing-read (concat (if negate "Negative filter" "Filter") " [+cat-tag<0:10-/regexp/]: ") #'org-agenda-filter-completion-function nil nil ff) -- Ihor Radchenko // yantar92, Org mode maintainer, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>