[elpa] master ebd8979: New undo-tree package release.

2020-01-06 Thread Toby Cubitt
branch: master
commit ebd8979eecca8f554b40db624ba649d513d737f3
Author: Toby S. Cubitt 
Commit: Toby S. Cubitt 

New undo-tree package release.
---
 packages/undo-tree/undo-tree.el | 595 
 1 file changed, 412 insertions(+), 183 deletions(-)

diff --git a/packages/undo-tree/undo-tree.el b/packages/undo-tree/undo-tree.el
index cb8a230..defe1d2 100644
--- a/packages/undo-tree/undo-tree.el
+++ b/packages/undo-tree/undo-tree.el
@@ -1,9 +1,10 @@
 ;;; undo-tree.el --- Treat undo history as a tree  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 2009-2013  Free Software Foundation, Inc
+;; Copyright (C) 2009-2020  Free Software Foundation, Inc
 
 ;; Author: Toby Cubitt 
-;; Version: 0.6.5
+;; Maintainer: Toby Cubitt 
+;; Version: 0.7
 ;; Keywords: convenience, files, undo, redo, history, tree
 ;; URL: http://www.dr-qubit.org/emacs.php
 ;; Repository: http://www.dr-qubit.org/git/undo-tree.git
@@ -410,7 +411,7 @@
 ;;   o  o o o o o
 ;;   |  |\|\|\|\|
 ;;   |  | \   | \   | \   | \   |
-;;   o  o  |  |  o  o  o  |  o  o
+;;   o  o  |  |  o  o  |  |  o  o
 ;;   | /   |  |  | /   |  |  | /
 ;;   |/|  |  |/|  |  |/
 ;;  (already undid   o |  |  o<.   |  |  o
@@ -586,7 +587,7 @@
 ;; Finally, hitting "q" will quit the visualizer, leaving the parent buffer in
 ;; whatever state you ended at. Hitting "C-q" will abort the visualizer,
 ;; returning the parent buffer to whatever state it was originally in when the
-;; visualizer was .
+;; visualizer was invoked.
 ;;
 ;;
 ;;
@@ -625,24 +626,37 @@
 ;;   o x  (undo the undo-in-region)
 ;;
 ;;
-;; In `undo-tree-mode', undo-in-region works similarly: when there's an active
-;; region, undoing only undoes changes that affect that region. However, the
-;; way these undos-in-region are recorded in the undo history is quite
-;; different. In `undo-tree-mode', undo-in-region creates a new branch in the
-;; undo history. The new branch consists of an undo step that undoes some of
-;; the changes that affect the current region, and another step that undoes
-;; the remaining changes needed to rejoin the previous undo history.
+;; In `undo-tree-mode', undo-in-region works much the same way: when there's
+;; an active region, undoing only undoes changes that affect that region. In
+;; `undo-tree-mode', redoing when there's an active region similarly only
+;; redoes changes that affect that region.
+;;
+;; However, the way these undo- and redo-in-region changes are recorded in the
+;; undo history is quite different. The good news is, you don't need to
+;; understand this to use undo- and redo-in-region in `undo-tree-mode' - just
+;; go ahead and use them! They'll probably work as you expect. But if you're
+;; masochistic enough to want to understand conceptually what's happening to
+;; the undo tree as you undo- and redo-in-region, then read on...
+;;
+;;
+;; Undo-in-region creates a new branch in the undo history. The new branch
+;; consists of an undo step that undoes some of the changes that affect the
+;; current region, and another step that undoes the remaining changes needed
+;; to rejoin the previous undo history.
 ;;
 ;;  Previous undo historyUndo-in-region
 ;;
 ;;   oo
 ;;   ||
 ;;   ||
+;;   ||
 ;;   oo
-;;   ||\
+;;   ||
+;;   ||
+;;   ||
+;;   oo_
 ;;   || \
-;;   oo  x  (undo-in-region)
-;;   ||  |
+;;   ||  x  (undo-in-region)
 ;;   ||  |
 ;;   xo  o
 ;;
@@ -655,48 +669,57 @@
 ;;  First undo-in-region Second undo-in-region
 ;;
 ;;   oo
-;;   ||\
+;;   ||
+;;   ||
+;;   ||
+;;   oo_
 ;;   || \
-;;   oo  x  (undo-in-region)
-;;   |\   |  |
+;;   ||  x  (undo-in-region)
+;

[elpa] externals/ebdb updated (4fb5fc9 -> 50c8ee4)

2020-01-06 Thread Eric Abrahamsen
girzel pushed a change to branch externals/ebdb.

  from  4fb5fc9   Allow ignoring mail from whole domains
   new  0f062bc   Simplify use of structs in migration
   new  8b952a4   First draft of EBDB support for Notmuch
   new  311775a   Bump copyright years to 2020
   new  e169e58   Add guards against fields failing to produce strings
   new  c0e7c2d   Neglected to add a ebdb-read method for ebdb-field-tags
   new  606d49a   Fix logic of singleton fields
   new  04c207d   Shift location of auto update hook for wl
   new  50c8ee4   Bump to version 0.6.12


Summary of changes:
 ebdb-com.el |  16 +++--
 ebdb-format.el  |   2 +-
 ebdb-gnus.el|   2 +-
 ebdb-i18n.el|   2 +-
 ebdb-ispell.el  |   2 +-
 ebdb-message.el |   2 +-
 ebdb-mhe.el |   2 +-
 ebdb-migrate.el | 105 +---
 ebdb-mu4e.el|   2 +-
 ebdb-mua.el |   2 +-
 ebdb-notmuch.el |  75 
 ebdb-org.el |   2 +-
 ebdb-pgp.el |   2 +-
 ebdb-rmail.el   |   2 +-
 ebdb-snarf.el   |   2 +-
 ebdb-vcard.el   |   2 +-
 ebdb-wl.el  |   6 ++--
 ebdb.el |  23 ++---
 18 files changed, 154 insertions(+), 97 deletions(-)
 create mode 100644 ebdb-notmuch.el



[elpa] externals/ebdb 0f062bc 1/8: Simplify use of structs in migration

2020-01-06 Thread Eric Abrahamsen
branch: externals/ebdb
commit 0f062bcd4d78330056a53372525985009ade777b
Author: Eric Abrahamsen 
Commit: Eric Abrahamsen 

Simplify use of structs in migration

* ebdb-migrate.el (ebdb-defstruct): Remove this macro, there's no need
to preserve all this stuff just for the purpose of migration.
(ebdb-migration-spec, ebdb-migrate-record-lambda): Simplify.
---
 ebdb-migrate.el | 103 +---
 1 file changed, 31 insertions(+), 72 deletions(-)

diff --git a/ebdb-migrate.el b/ebdb-migrate.el
index 585e578..4f241fe 100644
--- a/ebdb-migrate.el
+++ b/ebdb-migrate.el
@@ -25,6 +25,7 @@
 ;;; Code:
 
 (require 'ebdb)
+(require 'cl-lib)
 (require 'subr-x)
 (autoload 'calendar-absolute-from-gregorian "calendar")
 (autoload 'calendar-gregorian-from-absolute "calendar")
@@ -61,57 +62,24 @@ Format ((VERSION . DIFFERENCES) ... ).")
 ;; Quiet compiler
 (defvar bbdb-file)
 
-;;; These struct functions and definitions are here only to enable
-;;; multi-step upgrades from earlier versions of the database.
-
-(defmacro ebdb-defstruct (name &rest elts)
-  "Define two functions to operate on vector NAME for each symbol ELT in ELTS.
-The function ebdb-NAME-ELT returns the element ELT in vector NAME.
-The function ebdb-NAME-set-ELT sets ELT.
-Also define a constant ebdb-NAME-length that holds the number of ELTS
-in vector NAME."
-  (declare (indent 1))
-  (let* ((count 0)
- (sname (symbol-name name))
- (uname (upcase sname))
- (cname (concat "ebdb-" sname "-"))
- body)
-(dolist (elt elts)
-  (let* ((selt (symbol-name elt))
- (setname  (intern (concat cname "set-" selt
-(push (list 'defsubst (intern (concat cname selt)) `(,name)
-(format "For EBDB %s read element %i `%s'."
-uname count selt)
-;; Use `elt' instead of `aref' so that these functions
-;; also work for the `ebdb-record-type' pseudo-code.
-`(elt ,name ,count)) body)
-(push (list 'defsubst setname `(,name value)
-(format "For EBDB %s set element %i `%s' to VALUE.  \
-Return VALUE.
-Do not call this function directly.  Call instead `ebdb-record-set-field'
-which ensures the integrity of the database.  Also, this makes your code
-more robust with respect to possible future changes of EBDB's innermost
-internals."
-uname count selt)
-`(aset ,name ,count value)) body))
-  (setq count (1+ count)))
-(push (list 'defconst (intern (concat cname "length")) count
-(concat "Length of EBDB `" sname "'.")) body)
-(cons 'progn body)))
-
 ;; Define structs so that the getters/setters used elsewhere in the
 ;; file operate normally.  These functions are used nowhere else in
 ;; EBDB, and the "v" prefix has been added to prevent function name
 ;; clashes.
-(ebdb-defstruct
- vrecord
+(cl-defstruct (ebdb-vrecord
+   (:type vector)
+   (:constructor nil))
  firstname lastname affix aka organization phone address mail xfields
  uuid creation-date timestamp cache)
 
-(ebdb-defstruct vphone
+(cl-defstruct (ebdb-vphone
+   (:type vector)
+   (:constructor nil))
   label area exchange suffix extension)
 
-(ebdb-defstruct vaddress
+(cl-defstruct (ebdb-vaddress
+   (:type vector)
+   (:constructor nil))
   label streets city state postcode country)
 
 (defun ebdb-peel-the-onion (lis)
@@ -170,22 +138,14 @@ slightly munged old EBDB files."
   records)
 
 (defconst ebdb-migration-spec
-  '((2 (ebdb-vrecord-xfields ebdb-vrecord-set-xfields
-ebdb-migrate-change-dates))
-(3 (ebdb-vrecord-address ebdb-vrecord-set-address
-ebdb-migrate-add-country-field))
-(4 (ebdb-vrecord-address ebdb-vrecord-set-address
-ebdb-migrate-streets-to-list))
-(5 (ebdb-vrecord-address ebdb-vrecord-set-address
-ebdb-migrate-postcodes-to-strings))
-(6 (ebdb-vrecord-xfields ebdb-vrecord-set-xfields
-ebdb-migrate-xfields-to-list)
-   (ebdb-vrecord-organization ebdb-vrecord-set-organization
- ebdb-migrate-organization-to-list))
-(7 (bbdb-record-xfields bbdb-record-set-xfields
-bbdb-migrate-xfields-to-list)
-   (bbdb-record-organization bbdb-record-set-organization
-bbdb-migrate-organization-to-list)))
+  '((2 (ebdb-vrecord-xfields ebdb-migrate-change-dates))
+(3 (ebdb-vrecord-address ebdb-migrate-add-country-field))
+(4 (ebdb-vrecord-address ebdb-migrate-streets-to-list))
+(5 (ebdb-vrecord-address ebdb-migrate-postcodes-to-strings))
+(6 (ebdb-vrecord-xfields ebdb-migrate-xfields-to-list)
+   (ebdb-vrecord-organization ebdb-migrate-organization-to-list))
+(7 (bbdb-record-xfields bbdb-migrate-xfields-to-list)
+   (bbdb-record-organization bbdb-migrate-organization-to-list)))
   "The alist o

[elpa] externals/ebdb 8b952a4 2/8: First draft of EBDB support for Notmuch

2020-01-06 Thread Eric Abrahamsen
branch: externals/ebdb
commit 8b952a40bb366a6749b9cf19f506f377a78d80ef
Author: Eric Abrahamsen 
Commit: Eric Abrahamsen 

First draft of EBDB support for Notmuch

* ebdb-notmuch.el: Basic skeleton, still doesn't do automatic popup
display, etc.
---
 ebdb-notmuch.el | 75 +
 1 file changed, 75 insertions(+)

diff --git a/ebdb-notmuch.el b/ebdb-notmuch.el
new file mode 100644
index 000..a945b56
--- /dev/null
+++ b/ebdb-notmuch.el
@@ -0,0 +1,75 @@
+;;; ebdb-notmuch.el --- EBDB interface to Notmuch-*- lexical-binding: t; 
-*-
+
+;; Copyright (C) 2019  Free Software Foundation, Inc.
+
+;; Author: Eric Abrahamsen 
+;; Maintainer: Eric Abrahamsen 
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;; EBDB's interface to the Notmuch mail client.
+
+;;; Code:
+
+(require 'ebdb-mua)
+
+(declare-function notmuch-show-get-header "notmuch-show")
+(defvar notmuch-show-mode-map)
+(defvar notmuch-message-mode-map)
+
+(defgroup ebdb-mua-notmuch nil
+  "Options for EBDB's interaction with Notmuch"
+  :group 'ebdb-mua)
+
+(defcustom ebdb-notmuch-auto-update-p ebdb-mua-reader-update-p
+  "Notmuch-specific value of `ebdb-mua-auto-update-p'."
+  :type '(choice (const :tag "do nothing" nil)
+ (const :tag "search for existing records" existing)
+ (const :tag "update existing records" update)
+ (const :tag "query for update or record creation" query)
+ (const :tag "update or create automatically" create)
+ (function :tag "User-defined function")))
+
+(defcustom ebdb-notmuch-window-size ebdb-default-window-size
+  "Size of the EBDB buffer when popping up in Notmuch.
+Size should be specified as a float between 0 and 1.  Defaults to
+the value of `ebdb-default-window-size'."
+  :type 'float)
+
+(cl-defmethod ebdb-mua-message-header ((header string)
+  &context (major-mode notmuch-show-mode))
+  "Extract a message header in Notmuch."
+  (notmuch-show-get-header
+   ;; Yuck, is there no better way to turn a string into a keyword?
+   (intern (format ":%s" (capitalize header)
+
+(cl-defmethod ebdb-make-buffer-name (&context (major-mode notmuch-show-mode))
+  (format "*%s-Notmuch*" ebdb-buffer-name))
+
+(cl-defmethod ebdb-popup-window (&context (major-mode notmuch-show-mode))
+  (list (get-buffer-window) ebdb-notmuch-window-size))
+
+(defun ebdb-insinuate-notmuch ()
+  "Hook EBDB into Notmuch."
+  (define-key notmuch-show-mode-map ";" ebdb-mua-keymap)
+  (when ebdb-complete-mail
+(with-eval-after-load "notmuch-message"
+  (define-key notmuch-message-mode-map (kbd "TAB") #'ebdb-complete-mail
+
+(add-hook 'notmuch-show-mode-hook #'ebdb-insinuate-notmuch)
+
+(provide 'ebdb-notmuch)
+;;; ebdb-notmuch.el ends here



[elpa] externals/ebdb e169e58 4/8: Add guards against fields failing to produce strings

2020-01-06 Thread Eric Abrahamsen
branch: externals/ebdb
commit e169e58e1d28c782b63b4bae5be810b036ebea18
Author: Eric Abrahamsen 
Commit: Eric Abrahamsen 

Add guards against fields failing to produce strings

* ebdb-com.el (ebdb-fmt-field-label): There always needs to be
a string to get propertized, otherwise the user can't edit/delete the
field.
(ebdb-current-field): Raise an error if no field is found.
---
 ebdb-com.el | 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/ebdb-com.el b/ebdb-com.el
index dfdc216..09f5011 100644
--- a/ebdb-com.el
+++ b/ebdb-com.el
@@ -385,7 +385,8 @@ position-marker mark)."
 (next-single-property-change (point)
  'ebdb-field nil
  (line-end-position)))
-   'ebdb-field)))
+   'ebdb-field)
+  (error "No field at point")))
 
 ;;; *EBDB* formatting
 
@@ -555,7 +556,16 @@ choice: that formatter should be selected explicitly."
  (_record ebdb-record))
   "Put the 'ebdb-field text property on FIELD.  The value of the
 property is the field instance itself."
-  (propertize (cl-call-next-method) 'ebdb-field field))
+  (let ((str (cl-call-next-method)))
+;; If the field fails to produce a string, or produces an empty
+;; string, `propertize' will fail to add the 'ebdb-field property.
+;; Put in a dummy string to be propertized, otherwise the user
+;; will have no way of interacting with the field.
+(propertize (if (or (null str)
+   (string-empty-p str))
+   ""
+ str)
+   'ebdb-field field)))
 
 (cl-defmethod ebdb-fmt-field ((_fmt ebdb-formatter-ebdb)
  (field ebdb-field)



[elpa] externals/ebdb 311775a 3/8: Bump copyright years to 2020

2020-01-06 Thread Eric Abrahamsen
branch: externals/ebdb
commit 311775a90d58ac33921c9252dd94397893699747
Author: Eric Abrahamsen 
Commit: Eric Abrahamsen 

Bump copyright years to 2020
---
 ebdb-com.el | 2 +-
 ebdb-format.el  | 2 +-
 ebdb-gnus.el| 2 +-
 ebdb-i18n.el| 2 +-
 ebdb-ispell.el  | 2 +-
 ebdb-message.el | 2 +-
 ebdb-mhe.el | 2 +-
 ebdb-migrate.el | 2 +-
 ebdb-mu4e.el| 2 +-
 ebdb-mua.el | 2 +-
 ebdb-org.el | 2 +-
 ebdb-pgp.el | 2 +-
 ebdb-rmail.el   | 2 +-
 ebdb-snarf.el   | 2 +-
 ebdb-vcard.el   | 2 +-
 ebdb-wl.el  | 2 +-
 ebdb.el | 2 +-
 17 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/ebdb-com.el b/ebdb-com.el
index bd545f0..dfdc216 100644
--- a/ebdb-com.el
+++ b/ebdb-com.el
@@ -1,6 +1,6 @@
 ;;; ebdb-com.el --- User-level commands of EBDB  -*- lexical-binding: t; 
-*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 ;; Keywords: convenience, mail
diff --git a/ebdb-format.el b/ebdb-format.el
index 2fc07e7..00fa9ef 100644
--- a/ebdb-format.el
+++ b/ebdb-format.el
@@ -1,6 +1,6 @@
 ;;; ebdb-format.el --- Formatting/exporting EBDB records  -*- lexical-binding: 
t; -*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 
diff --git a/ebdb-gnus.el b/ebdb-gnus.el
index 77fa78e..7ee354c 100644
--- a/ebdb-gnus.el
+++ b/ebdb-gnus.el
@@ -1,6 +1,6 @@
 ;;; ebdb-gnus.el --- Gnus interface to EBDB  -*- lexical-binding: t; 
-*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 
diff --git a/ebdb-i18n.el b/ebdb-i18n.el
index 64cc85c..5aa16d8 100644
--- a/ebdb-i18n.el
+++ b/ebdb-i18n.el
@@ -1,6 +1,6 @@
 ;;; ebdb-i18n.el --- Internationalization support for EBDB  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 
diff --git a/ebdb-ispell.el b/ebdb-ispell.el
index d9396f8..a8768ea 100644
--- a/ebdb-ispell.el
+++ b/ebdb-ispell.el
@@ -1,6 +1,6 @@
 ;;; ebdb-ispell.el --- Add EBDB contact names to personal dictionaries  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 
diff --git a/ebdb-message.el b/ebdb-message.el
index 808e163..3e1fa3a 100644
--- a/ebdb-message.el
+++ b/ebdb-message.el
@@ -1,6 +1,6 @@
 ;;; ebdb-message.el --- EBDB interface to mail composition packages  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 
diff --git a/ebdb-mhe.el b/ebdb-mhe.el
index fdf147e..d1096ee 100644
--- a/ebdb-mhe.el
+++ b/ebdb-mhe.el
@@ -1,6 +1,6 @@
 ;;; ebdb-mhe.el --- EBDB interface to mh-e   -*- lexical-binding: t; 
-*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
diff --git a/ebdb-migrate.el b/ebdb-migrate.el
index 4f241fe..0e4c544 100644
--- a/ebdb-migrate.el
+++ b/ebdb-migrate.el
@@ -1,6 +1,6 @@
 ;;; ebdb-migrate.el --- Migration/upgrade functions for EBDB  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 
diff --git a/ebdb-mu4e.el b/ebdb-mu4e.el
index 5ede6d8..947a44a 100644
--- a/ebdb-mu4e.el
+++ b/ebdb-mu4e.el
@@ -1,6 +1,6 @@
 ;;; ebdb-mu4e.el --- EBDB interface for mu4e -*- lexical-binding: t; 
-*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 
diff --git a/ebdb-mua.el b/ebdb-mua.el
index c732ab3..28fb962 100644
--- a/ebdb-mua.el
+++ b/ebdb-mua.el
@@ -1,6 +1,6 @@
 ;;; ebdb-mua.el --- Mail user agent interaction for EBDB  -*- lexical-binding: 
t; -*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 
diff --git a/ebdb-org.el b/ebdb-org.el
index 85bcdee..849367a 100644
--- a/ebdb-org.el
+++ b/ebdb-org.el
@@ -1,6 +1,6 @@
 ;;; ebdb-org.el --- Org mode integration for EBDB-*- lexical-binding: t; 
-*-
 
-;; Copyright (C) 2016-2019  Free Software Foundation, Inc.
+;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
 ;; Author: Eric Abrahamsen 
 ;; Keywords:
diff --git a/ebdb-pgp.el b/ebdb-pgp.el
index 1c0018a..6d7ed9f 100644
--- a/ebdb-pgp.el
+++ b/ebdb-pgp.el
@@ -1,6 +1,6 @@
 ;;; ebdb-pgp.el --- I

[elpa] externals/ebdb 04c207d 7/8: Shift location of auto update hook for wl

2020-01-06 Thread Eric Abrahamsen
branch: externals/ebdb
commit 04c207d841d25860ae452ae91b21cf1e07a6090b
Author: Eric Abrahamsen 
Commit: Eric Abrahamsen 

Shift location of auto update hook for wl

* ebdb-wl.el: Move hook from `wl-message-redisplay-hook' to
`wl-summary-redisplay-hook'.
---
 ebdb-wl.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ebdb-wl.el b/ebdb-wl.el
index b7e2b0f..8b102e1 100644
--- a/ebdb-wl.el
+++ b/ebdb-wl.el
@@ -43,7 +43,7 @@
   :group 'ebdb-mua)
 
 (defcustom ebdb-wl-auto-update-p ebdb-mua-reader-update-p
-  "Wl-specific value of `ebdb-m-auto-update-p'."
+  "Wl-specific value of `ebdb-mua-auto-update-p'."
   :type '(choice (const :tag "do nothing" nil)
  (const :tag "search for existing records" existing)
  (const :tag "update existing records" update)
@@ -135,7 +135,7 @@ beginning) of the signature separator."
 
 (add-hook 'wl-folder-mode-hook #'ebdb-insinuate-wl)
 
-(add-hook 'wl-message-redisplay-hook #'ebdb-wl-auto-update)
+(add-hook 'wl-summary-redisplay-hook #'ebdb-wl-auto-update)
 
 (provide 'ebdb-wl)
 ;;; ebdb-wl.el ends here



[elpa] externals/ebdb c0e7c2d 5/8: Neglected to add a ebdb-read method for ebdb-field-tags

2020-01-06 Thread Eric Abrahamsen
branch: externals/ebdb
commit c0e7c2dd6857f38bba09b507f7d4222459469412
Author: Eric Abrahamsen 
Commit: Eric Abrahamsen 

Neglected to add a ebdb-read method for ebdb-field-tags

* ebdb.el (ebdb-field-tags): Forgot to write this.
---
 ebdb.el | 9 +
 1 file changed, 9 insertions(+)

diff --git a/ebdb.el b/ebdb.el
index 9ee75af..a2b09d6 100644
--- a/ebdb.el
+++ b/ebdb.el
@@ -2349,6 +2349,15 @@ See `ebdb-url-valid-schemes' for a list of acceptable 
schemes."
 (cl-defmethod ebdb-string ((field ebdb-field-tags))
   (ebdb-concat 'ebdb-field-tags (slot-value field 'tags)))
 
+(cl-defmethod ebdb-read ((field (subclass ebdb-field-tags)) &optional slots 
obj)
+  (let* ((crm-separator (cadr (assq 'ebdb-field-tags ebdb-separator-alist)))
+(val (completing-read-multiple
+  (format "Tags (separate with \"%s\"): " crm-separator)
+  ebdb-tags
+  nil nil
+  (when obj (ebdb-string obj)
+(cl-call-next-method field (plist-put slots :tags val
+
 (cl-defmethod ebdb-search-read ((_class (subclass ebdb-field-tags)))
   (let ((search-string (ebdb-read-string
"Search for tags (eg +tag1-tag2|tag3): ")))



[elpa] externals/ebdb 50c8ee4 8/8: Bump to version 0.6.12

2020-01-06 Thread Eric Abrahamsen
branch: externals/ebdb
commit 50c8ee47fe5023329471e6a5f55af9dc5e88f9d8
Author: Eric Abrahamsen 
Commit: Eric Abrahamsen 

Bump to version 0.6.12
---
 ebdb.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ebdb.el b/ebdb.el
index efd6561..002033c 100644
--- a/ebdb.el
+++ b/ebdb.el
@@ -2,7 +2,7 @@
 
 ;; Copyright (C) 2016-2020  Free Software Foundation, Inc.
 
-;; Version: 0.6.11
+;; Version: 0.6.12
 ;; Package-Requires: ((emacs "25.1") (cl-lib "0.5") (seq "2.15"))
 
 ;; Maintainer: Eric Abrahamsen 



[elpa] externals/ebdb 606d49a 6/8: Fix logic of singleton fields

2020-01-06 Thread Eric Abrahamsen
branch: externals/ebdb
commit 606d49a215622ee337e73d3177a0f23bc1a25508
Author: Eric Abrahamsen 
Commit: Eric Abrahamsen 

Fix logic of singleton fields

* ebdb.el (ebdb-record-insert-field): When we retrieve the "existing"
field, we actually get a list of fields.
---
 ebdb.el | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/ebdb.el b/ebdb.el
index a2b09d6..efd6561 100644
--- a/ebdb.el
+++ b/ebdb.el
@@ -2898,12 +2898,16 @@ by the field, or else raising the error 
`ebdb-related-unfound'.")
&optional _slot)
   "Prevent RECORD from having more than one instance of FIELD."
   (let ((existing (ebdb-record-field record (eieio-object-class field
+;; Using a class name with `ebdb-record-field' always returns a
+;; list.
 (when existing
-  (ebdb-record-delete-field record existing))
+  (dolist (f existing)
+   (ebdb-record-delete-field record f)))
 (condition-case nil
(cl-call-next-method)
-  ;; Put the old one back if something goes wrong.
-  (error (ebdb-record-insert-field record existing)
+  ;; Put the old one back if something goes wrong.  There should
+  ;; only be one field instance, so we blindly use `car'.
+  (error (ebdb-record-insert-field record (car existing))
 
 (cl-defmethod ebdb-field-image-get ((field ebdb-field-image) (record 
ebdb-record))
   "Return the image for image field FIELD.