branch: externals/ebdb
commit 015bd257e00086bdb3524b3f09e3ff131cef36e1
Author: Eric Abrahamsen <[email protected]>
Commit: Eric Abrahamsen <[email protected]>
New search command ebdb-search-record-class
* ebdb-com.el (ebdb-search-record-class): Search by record class.
(ebdb-mode-map): Give it a keybinding.
---
ebdb-com.el | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/ebdb-com.el b/ebdb-com.el
index c323719..23b1bfa 100644
--- a/ebdb-com.el
+++ b/ebdb-com.el
@@ -333,6 +333,7 @@ With ARG a negative number do not append."
(define-key km (kbd "/ N") 'ebdb-search-user-fields)
(define-key km (kbd "/ x") 'ebdb-search-user-fields)
(define-key km (kbd "/ c") 'ebdb-search-changed)
+ (define-key km (kbd "/ C") 'ebdb-search-record-class)
(define-key km (kbd "/ d") 'ebdb-search-duplicates)
(define-key km (kbd "/ D") 'ebdb-search-database)
(define-key km (kbd "C-x n w") 'ebdb-display-all-records)
@@ -2009,6 +2010,15 @@ The search results are displayed in the EBDB buffer."
(ebdb-display-records (slot-value db 'records) fmt))
;;;###autoload
+(defun ebdb-search-record-class (class &optional fmt)
+ "Prompt for a record class and display all records of that class."
+ (interactive (list (eieio-read-subclass "Use which record class? "
'ebdb-record nil t)
+ (ebdb-formatter-prefix)))
+ (let ((recs (seq-filter (lambda (r) (object-of-class-p t class))
+ (ebdb-records))))
+ (ebdb-display-records recs fmt)))
+
+;;;###autoload
(defun ebdb-display-one-record (record &optional fmt)
"Prompt for a single record, and display it."
(interactive (list (ebdb-completing-read-records "Display records: ")