[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ebdb fb76dd3 032/350: Fix ebdb-search-duplicates
From: |
Eric Abrahamsen |
Subject: |
[elpa] externals/ebdb fb76dd3 032/350: Fix ebdb-search-duplicates |
Date: |
Mon, 14 Aug 2017 11:45:57 -0400 (EDT) |
branch: externals/ebdb
commit fb76dd3876035ea31e13320c3bed3062e93c6e61
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>
Fix ebdb-search-duplicates
* ebdb-com.el (ebdb-search-duplicates): Move it down with the other
search functions, and make sure it uses `ebdb-formatter-prefix' to
pass a format argument to `ebdb-display-records'.
---
ebdb-com.el | 93 ++++++++++++++++++++++++++++++++-----------------------------
1 file changed, 49 insertions(+), 44 deletions(-)
diff --git a/ebdb-com.el b/ebdb-com.el
index e34f7e4..82599a8 100644
--- a/ebdb-com.el
+++ b/ebdb-com.el
@@ -1385,50 +1385,6 @@ which is probably more suited for your needs."
(when update
(ebdb-change-record record)))))))
-(defun ebdb-search-duplicates (&optional fields)
- "Search all records that have duplicate entries for FIELDS.
-The list FIELDS may contain the symbols `name', `mail', and `aka'.
-If FIELDS is nil use all these fields. With prefix, query for FIELDS.
-The search results are displayed in the EBDB buffer."
- (interactive (list (if current-prefix-arg
- (list (intern (completing-read "Field: "
- '("name" "mail" "aka")
- nil t))))))
- (setq fields (or fields '(name mail aka)))
- (let (hash ret)
- (dolist (record (ebdb-records))
-
- (when (and (memq 'name fields)
- (ebdb-record-name record)
- (setq hash (ebdb-gethash (ebdb-record-name record)
- '(fl-name lf-name aka)))
- (> (length hash) 1))
- (setq ret (append hash ret))
- (message "EBDB record `%s' has duplicate name."
- (ebdb-record-name record))
- (sit-for 0))
-
- (if (memq 'mail fields)
- (dolist (mail (ebdb-record-mail-canon record))
- (setq hash (ebdb-gethash mail '(mail)))
- (when (> (length hash) 1)
- (setq ret (append hash ret))
- (message "EBDB record `%s' has duplicate mail `%s'."
- (ebdb-record-name record) mail)
- (sit-for 0))))
-
- (if (memq 'aka fields)
- (dolist (aka (ebdb-record-aka record))
- (setq hash (ebdb-gethash aka '(fl-name lf-name aka)))
- (when (> (length hash) 1)
- (setq ret (append hash ret))
- (message "EBDB record `%s' has duplicate aka `%s'"
- (ebdb-record-name record) aka)
- (sit-for 0)))))
-
- (ebdb-display-records (sort (delete-dups ret)
- 'ebdb-record-lessp))))
-
(defun ebdb-touch-records (records)
"Touch RECORDS by calling `ebdb-change-hook' unconditionally."
(interactive (list (ebdb-do-records)))
@@ -2011,6 +1967,55 @@ in either the name(s), organization, address, phone,
mail, or xfields."
(ebdb-display-records dirty fmt))))
;;;###autoload
+(defun ebdb-search-duplicates (&optional fields fmt)
+ "Search all records that have duplicate entries for FIELDS.
+The list FIELDS may contain the symbols `name', `mail', and `aka'.
+If FIELDS is nil use all these fields. With prefix, query for FIELDS.
+The search results are displayed in the EBDB buffer."
+ (interactive (list (if current-prefix-arg
+ (list (intern (completing-read "Field: "
+ '("name" "mail" "aka")
+ nil t))))
+ (ebdb-formatter-prefix)))
+ (setq fields (or fields '(name mail aka)))
+ (let (hash ret)
+ (dolist (record (ebdb-records))
+
+ (when (and (memq 'name fields)
+ (ebdb-record-name record)
+ (setq hash (ebdb-gethash (ebdb-record-name record)
+ '(fl-name lf-name aka)))
+ (> (length hash) 1))
+ (setq ret (append hash ret))
+ (message "EBDB record `%s' has duplicate name."
+ (ebdb-record-name record))
+ (sit-for 0))
+
+ (if (memq 'mail fields)
+ (dolist (mail (ebdb-record-mail-canon record))
+ (setq hash (ebdb-gethash mail '(mail)))
+ (when (> (length hash) 1)
+ (setq ret (append hash ret))
+ (message "EBDB record `%s' has duplicate mail `%s'."
+ (ebdb-record-name record) mail)
+ (sit-for 0))))
+
+ (if (and (memq 'aka fields)
+ (slot-exists-p record 'aka))
+ (dolist (aka (ebdb-record-aka record))
+ (setq aka (ebdb-string aka))
+ (setq hash (ebdb-gethash aka '(fl-name lf-name aka)))
+ (when (> (length hash) 1)
+ (setq ret (append hash ret))
+ (message "EBDB record `%s' has duplicate aka `%s'"
+ (ebdb-record-name record) aka)
+ (sit-for 0)))))
+
+ (ebdb-display-records (sort (delete-dups ret)
+ 'ebdb-record-lessp)
+ fmt)))
+
+;;;###autoload
(defun ebdb-search-database (db &optional fmt)
"Select a database and show all records from that database."
(interactive
- [elpa] externals/ebdb bd9dd94 072/350: Use ebdb-defunct face on defunct role fields, (continued)
- [elpa] externals/ebdb bd9dd94 072/350: Use ebdb-defunct face on defunct role fields, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 2ec61be 059/350: Fixup bbdb-mode keymap, menu, and docstring, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb e49e9da 077/350: Using wrong var name in ebdb-edit-field, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 794babc 069/350: Fix mail field action, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 7d41fb9 076/350: Small tweaks to ebdb-load, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 5156eb2 079/350: Rename ebdb-display-one-record to ebdb-search-single-record, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 3a0048f 041/350: Stop pretended init and delete are the same for records and fields, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb ca4516b 082/350: Use mail-decode-encoded-word-string on returned MUA headers, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 5910db7 065/350: Restore mail alias functionality, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 55a8c97 085/350: Split ebdb-db-disable into interactive/non-interactive functions, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb fb76dd3 032/350: Fix ebdb-search-duplicates,
Eric Abrahamsen <=
- [elpa] externals/ebdb a43e883 026/350: Move record initialization out of load process, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 77eb15b 037/350: Add keybinding for ebdb-search-database, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 8eb2262 036/350: Add object-print method for records, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 20785a1 029/350: Additions to README and manual, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 8537076 052/350: Improvements to the gnorb-ebdb-org-tags field, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 6568bbf 053/350: Straighten out ebdb-separator-alist, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 9791ed5 030/350: Merge branch 'buff', Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 49b422e 035/350: Remove mentions and bindings for ebdb-do-all-records, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 11fe701 047/350: Name classes now inherit from ebdb-field-user, Eric Abrahamsen, 2017/08/14
- [elpa] externals/ebdb 784f45c 060/350: New function ebdb-prompt-for-mail, Eric Abrahamsen, 2017/08/14