[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ebdb 365fa1c 04/12: Add nicknames to person record cach
From: |
Eric Abrahamsen |
Subject: |
[elpa] externals/ebdb 365fa1c 04/12: Add nicknames to person record cache 'alt-names |
Date: |
Tue, 12 Jun 2018 22:06:10 -0400 (EDT) |
branch: externals/ebdb
commit 365fa1c2a3d7dd4d9460392bbcba2f8912e43a4f
Author: Eric Abrahamsen <address@hidden>
Commit: Eric Abrahamsen <address@hidden>
Add nicknames to person record cache 'alt-names
* ebdb.el (ebdb-init-field): For simple name fields and person
records: also store a combination of "nickname surname" in the
cache's alt-name, so people can search and complete on that.
---
ebdb.el | 29 +++++++++++++++++++++++++----
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/ebdb.el b/ebdb.el
index 0ef1816..9c5ae76 100644
--- a/ebdb.el
+++ b/ebdb.el
@@ -1168,9 +1168,30 @@ simple or complex name class."
(let ((name (ebdb-read-string "Name: " (when obj (slot-value obj 'name)))))
(cl-call-next-method class (plist-put slots :name name) obj)))
-(cl-defmethod ebdb-init-field ((name ebdb-field-name-simple) &optional record)
- (when record
- (ebdb-puthash (ebdb-string name) record))
+(cl-defmethod ebdb-init-field ((name ebdb-field-name-simple) record)
+ (ebdb-puthash (ebdb-string name) record)
+ (cl-call-next-method))
+
+(cl-defmethod ebdb-delete-field ((name ebdb-field-name-simple) record
+ &optional _unload)
+ (ebdb-remhash (ebdb-string name) record)
+ (cl-call-next-method))
+
+(cl-defmethod ebdb-init-field ((name ebdb-field-name-simple)
+ (record (subclass ebdb-record-person)))
+ (object-add-to-list
+ (ebdb-record-cache record) 'alt-names
+ (concat (ebdb-string name) " "
+ (slot-value (slot-value record 'name) 'surname)))
+ (cl-call-next-method))
+
+(cl-defmethod ebdb-delete-field ((name ebdb-field-name-simple)
+ (record (subclass ebdb-record-person))
+ &optional _unload)
+ (object-remove-from-list
+ (ebdb-record-cache record) 'alt-names
+ (concat (ebdb-string name) " "
+ (slot-value (slot-value record 'name) 'surname)))
(cl-call-next-method))
(cl-defmethod ebdb-parse ((class (subclass ebdb-field-name-simple)) str
&optional slots)
@@ -1242,7 +1263,7 @@ first one."
(format "%s " given))
(when prefix
(format "%s " prefix))
- (slot-value name 'surname)
+ (ebdb-name-last name)
(when suffix
(format ", %s" suffix)))))))
- [elpa] externals/ebdb updated (cadffb1 -> 60f8828), Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb da1c6f6 01/12: Improve name parsing, Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb 365fa1c 04/12: Add nicknames to person record cache 'alt-names,
Eric Abrahamsen <=
- [elpa] externals/ebdb 9febf18 02/12: New command ebdb-save-ebdb, Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb 91f0953 05/12: Let the typos begin!, Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb b2b56f8 07/12: Fix to "add nicknames to person record cache", Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb 60f8828 12/12: Bump and flush: 0.5.3, Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb 140381f 09/12: Update README.org (#70), Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb 49a2e8d 03/12: Make "record" argument to field init and delete non-optional, Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb 5f00a46 10/12: Tweak default formatter settings, Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb 7d20db4 06/12: Further improvements to snarfing, Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb b89a009 08/12: Move defmethods beneath all classes used as specializers, Eric Abrahamsen, 2018/06/12
- [elpa] externals/ebdb 8ef0b9c 11/12: Document customization options for *EBDB* buffer display, Eric Abrahamsen, 2018/06/12