1 2017-10-17 Roland Winkler <winkler@gnu.org>
2 * lisp/bbdb.el (bbdb-parse-records): Bug fix, hash record after
3 checking for duplicates.
5 2017-10-11 Roland Winkler <winkler@gnu.org>
6 * configure.ac: Use it.
7 * lisp/bbdb.el: Mention new mailing list bbdb-user@nongnu.org.
9 2017-10-11 Roland Winkler <winkler@gnu.org>
10 * lisp/bbdb.el (bbdb-parse-records): Query before migrating BBDB
12 (bbdb-delete-record-internal, bbdb-insert-record-internal)
13 (bbdb-overwrite-record-internal): Barf if buffer is read-only.
15 2017-10-11 Roland Winkler <winkler@gnu.org>
16 * lisp/bbdb-com.el (bbdb-search, bbdb-split-maybe): Fix docstring.
17 (bbdb-read-record): Fix calling sequence for calls to set record.
19 2017-08-09 Roland Winkler <winkler@gnu.org>
20 * lisp/bbdb-migrate.el (bbdb-migrate-uuid-xfield): New variable.
22 2017-08-09 Roland Winkler <winkler@gnu.org>
23 New field uuid. Make creation-date and timestamp immutable.
24 * lisp/bbdb.el (bbdb-create-hook, bbdb-change-hook): Use
26 (bbdb-merge-records-function): New variable.
27 (bbdb-layout-alist): Omit uuid.
28 (bbdb-xfields-sort-order, bbdb-merge-xfield-function-alist):
29 Ignore creation-date and timestamp.
30 (bbdb-file-format): Bump to 9.
31 (bbdb-record-type): Include uuid, creation-date and timestamp.
32 (bbdb-uuid-table): New variable.
33 (bbdb-timestamp, bbdb-creation-date): Declare obsolete.
34 (bbdb-uuid): New function.
35 (bbdb-hash-record): Hash uuid.
36 (bbdb-record-field, bbdb-record-set-field, bbdb-buffer)
37 (bbdb-display-record-one-line, bbdb-display-record-multi-line)
38 (bbdb-display-record): Handle uuid, creation-date and timestamp.
39 (bbdb-change-record): Use uuid.
40 * lisp/bbdb-com.el (bbdb-search): Use keywords for args. Handle
41 uuid, creation-date and timestamp. New option :bool.
42 (bbdb, bbdb-search-name, bbdb-search-organization)
43 (bbdb-search-address, bbdb-search-mail, bbdb-search-phone)
44 (bbdb-search-xfields, bbdb-mail-aliases, bbdb-get-mail-aliases):
46 (bbdb-compare-records): Compare any fields.
47 (bbdb-timestamp-older, bbdb-timestamp-newer, bbdb-creation-older)
48 (bbdb-creation-newer): Fix interactive spec.
49 (bbdb-creation-no-change): Use bbdb-record-timestamp.
50 (bbdb-read-record): Use bbdb-empty-record.
51 (bbdb-create): Fix call of bbdb-change-record.
52 (bbdb-split-maybe): New function.
53 (bbdb-create-internal): Use keywords for args.
54 (bbdb-edit-field, bbdb-edit-foo, bbdb-merge-records): Handle uuid,
55 creation-date and timestamp.
56 (bbdb-delete-records): Ignore records not known to BBDB.
57 * lisp/bbdb-snarf.el (bbdb-snarf)
58 * lisp/bbdb-mua.el (bbdb-annotate-message): Fix call of
60 * lisp/bbdb-migrate.el (bbdb-migration-features): Remove.
61 (bbdb-peel-the-onion): Merge with bbdb-migrate.
62 (bbdb-migrate): Handle format 9.
63 (bbdb-migrate-alist): Rename from bbdb-migration-spec.
64 (bbdb-migrate-record-lambda): Merge with bbdb-migrate-lambda.
65 (bbdb-migrate-lambda): Rename from bbdb-migrate-versions-lambda.
66 (bbdb-migrate-postcode-to-string): Rename from
67 bbdb-migrate-postcodes-to-strings. Simplify.
68 (bbdb-migrate-dates): Rename from bbdb-migrate-change-dates.
70 (bbdb-migrate-add-country): Rename from
71 bbdb-migrate-add-country-field.
72 (bbdb-undocumented-variables): Handle byte-obsolete-variable.
74 2017-07-25 Roland Winkler <winkler@gnu.org>
75 * Makefile.am: Fix rule BBDB_ELPA_FILES. (Bug#51563)
77 2017-07-25 Roland Winkler <winkler@gnu.org>
78 * lisp/bbdb-tex.el: Improve documentation.
80 2017-07-25 Roland Winkler <winkler@gnu.org>
81 * lisp/bbdb-tex.el (bbdb-tex): Bug fix. (Bug#51564)
83 2017-07-21 Roland Winkler <winkler@gnu.org>
84 * lisp/bbdb.el (bbdb-split): Fix previous patch.
86 2017-07-21 Roland Winkler <winkler@gnu.org>
87 * lisp/bbdb.el (bbdb-split): Use arg TRIM of split-string with
88 emacs-version >= 24.4.
90 2017-07-19 Roland Winkler <winkler@gnu.org>
91 * lisp/bbdb-tex.el (bbdb-tex): Allow empty space when calling
94 2017-07-19 Roland Winkler <winkler@gnu.org>
95 * tex/bbdb.sty: Use \RequirePackage.
97 2017-07-19 Roland Winkler <winkler@gnu.org>
98 * lisp/bbdb-tex.el (bbdb-tex-alist): Improve docstring.
100 2017-07-03 Roland Winkler <winkler@gnu.org>
101 Use LaTeX for TeXing BBDB.
102 * lisp/bbdb-tex.el: Replacement for lisp/bbdb-print.el.
103 * lisp/bbdb-site.el.in (bbdb-tex-path): Renamed from
104 bbdb-print-tex-path. Allow new value t.
105 * lisp/bbdb.el (bbdb-utilities-tex): Renamed from
106 bbdb-utilities-print.
107 (bbdb-separator-alist): New element tex-name. Fix docstring.
108 * lisp/makefile-temp, lisp/Makefile.am: Use bbdb-tex.
109 * tex/bbdb-print-brief.tex, tex/bbdb-cols.tex, tex/bbdb-print.tex:
111 * tex/bbdb.sty: New file.
112 * tex/Makefile.am: Update accordingly.
114 2017-01-31 Roland Winkler <winkler@gnu.org>
115 * README: Really discontinue support for GNU Emacs 23.
117 2017-01-30 Barak A. Pearlmutter <barak@pearlmutter.net>
118 * TODO: Extend feature wishlist.
120 2017-01-30 Barak A. Pearlmutter <barak@pearlmutter.net>
121 * README: Add pointer to emacs wiki upgrade page.
123 2017-01-30 Roland Winkler <winkler@gnu.org>
124 * README, lisp/bbdb-site.el.in: Discontinue support for GNU Emacs
127 2017-01-28 Roland Winkler <winkler@gnu.org>
128 * lisp/bbdb-anniv.el (bbdb-anniv-diary-entries): Propertize the
129 strings passed to diary-add-to-list.
130 (bbdb-anniv-goto-entry): New function used as
131 diary-goto-entry-function.
133 2017-01-28 Roland Winkler <winkler@gnu.org>
134 * lisp/bbdb-anniv.el (bbdb-anniv-diary-entries): Use cl-flet.
136 2017-01-28 Roland Winkler <winkler@gnu.org>
137 * lisp/bbdb-anniv.el: Use lexical binding.
138 * lisp/bbdb-anniv.el (bbdb-anniv-diary-entries): Use lexical
139 environment for eval.
141 2017-01-28 Roland Winkler <winkler@gnu.org>
142 Discontinue support for old GNU Emacs 23.
143 * lisp/bbdb.el (bbdb-buffer, bbdb-revert):
144 * lisp/bbdb-com.el (bbdb-complete-mail): Update accordingly.
146 2017-01-28 Roland Winkler <winkler@gnu.org>
147 Update copyright year in all files.
149 2016-10-02 Roland Winkler <winkler@gnu.org>
150 * lisp/bbdb-com.el, lisp/bbdb-gnus.el, lisp/bbdb-ispell.el:
151 * lisp/bbdb-message.el, lisp/bbdb-mhe.el, lisp/bbdb-migrate.el:
152 * lisp/bbdb-mu4e.el, lisp/bbdb-mua.el, lisp/bbdb-pgp.el:
153 * lisp/bbdb-print.el, lisp/bbdb-rmail.el, lisp/bbdb-sc.el:
154 * lisp/bbdb-site.el.in, lisp/bbdb-snarf.el, lisp/bbdb-vm.el:
155 * lisp/bbdb-wl.el, lisp/bbdb.el: Use lexical binding.
157 * lisp/bbdb.el (bbdb-alist-with-header): Start name of unused
158 variables with underscore.
159 (bbdb-display-record-multi-line, bbdb-display-records): Remove
161 * lisp/bbdb-com.el (bbdb-omit-record):
162 * lisp/bbdb-snarf.el (bbdb-snarf-surrounding-space)
163 (bbdb-snarf-empty-lines):
164 * lisp/bbdb-migrate.el (bbdb-undocumented-variables): Start name
165 of unused variables with underscore.
166 * lisp/bbdb-mua.el (bbdb-get-address-components):
167 * lisp/bbdb-print.el (bbdb-print-record): Remove unused variable.
168 * lisp/bbdb-gnus.el: Autoload message-make-domain.
169 (bbdb/gnus-score-as-text): Start name of unused variables with
172 2016-07-20 Roland Winkler <winkler@gnu.org>
173 * lisp/bbdb.el (bbdb-display-record-one-line)
174 * lisp/bbdb-snarf.el (bbdb-snarf-label, bbdb-snarf-phone-nanp):
175 Use 2nd arg of looking-back.
177 2016-07-20 Roland Winkler <winkler@gnu.org>
178 Update copyright year in all files.
180 2016-07-20 Roland Winkler <winkler@gnu.org>
181 * lisp/bbdb-mua.el (bbdb-mua-mode-alist): Add support for
182 mu4e-compose-mode and notmuch-message-mode which are derived from
185 2016-07-20 Roland Winkler <winkler@gnu.org>
186 * m4/emacs_wl.m4: New file
187 * configure.ac: Use it.
188 * NEWS, README: Document support for Wanderlust
190 2016-07-20 David Maus <dmaus@dmaus.name>
191 Add basic support for Wanderlust.
192 * lisp/Makefile.am, lisp/makefile-temp: Support Wanderlust.
193 * lisp/bbdb-mua.el (bbdb-mua-mode-alist, bbdb-mua)
194 (bbdb-message-header, bbdb-mua-update-records, bbdb-mua-wrapper):
195 Add support for Wanderlust.
196 (bbdb-mua-auto-update-init): Add wanderlust to list of auto-update
198 * lisp/bbdb.el (bbdb-init-forms): Add support for Wanderlust.
199 * lisp/bbdb-wl.el: New file.
201 2016-07-20 Marco Wahl <marcowahlsoft@gmail.com>
202 * lisp/bbdb-com.el (bbdb-omit-record): Fix arg list of
203 bbdb-redisplay-record.
205 2016-07-20 Roland Winkler <winkler@gnu.org>
206 Make bbdb-hashtable a proper hash table.
207 * lisp/bbdb.el (bbdb-hashtable): Use make-hash-table.
208 (bbdb-puthash, bbdb-gethash, bbdb-remhash, bbdb-buffer)
209 * lisp/bbdb-com.el (bbdb-completion-predicate)
210 (bbdb-completing-read-records, bbdb-complete-mail): Use it.
212 2016-07-20 Roland Winkler <winkler@gnu.org>
213 * lisp/bbdb.el (bbdb-add-to-list): Remove.
214 (bbdb-pushnew, bbdb-pushnewq, bbdb-pushnewt): New macros.
215 (bbdb-record-set-xfield, bbdb-record-set-field)
216 (bbdb-merge-concat-remove-duplicates, bbdb-parse-records)
218 * lisp/bbdb-com.el (bbdb-mail-aliases, bbdb-get-mail-aliases)
219 (bbdb-add-mail-alias)
220 * lisp/bbdb-mua.el (bbdb-update-records): Use them.
222 2015-11-14 Roland Winkler <winkler@gnu.org>
223 * lisp/bbdb.el (bbdb-auto-revert, bbdb-dedicated-window)
224 (bbdb-default-domain, bbdb-mua-pop-up)
225 (bbdb-horiz-pop-up-window-size, bbdb-xfields-sort-order)
226 (bbdb-mua-summary-unification-list, bbdb-mail-avoid-redundancy)
227 * lisp/bbdb-snarf.el (bbdb-snarf-address-us-country)
228 (bbdb-snarf-address-eu-country)
229 * lisp/bbdb-anniv.el (bbdb-anniv-alist)
230 * lisp/bbdb-vm.el (bbdb/vm-virtual-real-folders)
231 * lisp/bbdb-gnus.el (bbdb/gnus-score-default)
232 (bbdb/gnus-split-myaddr-regexp, bbdb/gnus-split-private-field)
233 (bbdb/gnus-split-public-field)
234 * lisp/bbdb-sc.el (bbdb-sc-update-attrib-p): Fix defcustom.
236 2015-11-08 Roland Winkler <winkler@gnu.org>
237 Add new snarfing rule eu for many continental European countries.
238 Improve snarfing algorithm.
239 * lisp/bbdb-snarf.el (bbdb-snarf-rule-alist): Add new rule eu.
240 (bbdb-snarf-phone-nanp-regexp, bbdb-snarf-postcode-us-regexp)
241 (bbdb-snarf-url-regexp): Improve regexp. Use first subexpression.
242 (bbdb-snarf-mail-regexp): New variable.
243 (bbdb-snarf-mail): Use it.
244 (bbdb-snarf-address-us-country): New variable.
245 (bbdb-snarf-address-us): Use it. Check whether we actually
247 (bbdb-snarf-phone-eu-regexp, bbdb-snarf-postcode-eu-regexp)
248 (bbdb-snarf-address-eu-country): New variables.
249 (bbdb-snarf-label): Use save-match-data.
250 (bbdb-snarf-phone-nanp): Use save-match-data. Reverse order of
251 snarfed phone numbers.
252 (bbdb-snarf-phone-eu, bbdb-snarf-address-eu): New functions.
254 2015-11-08 Roland Winkler <winkler@gnu.org>
255 Simplify re-sorting of records when a record has been changed.
256 Re-display re-sorted records.
257 * lisp/bbdb.el (bbdb-need-to-sort): Removed.
258 (bbdb-record-set-name): Simplify accordingly.
259 (bbdb-record-set-sortkey): Always evaluate new sortkey.
260 (bbdb-record-sortkey): Simplify accordingly.
261 (bbdb-change-record): Sort records if we have a new sort key.
262 (bbdb-redisplay-record-globally): Rename from
263 bbdb-maybe-update-display. New optional arg sort.
264 (bbdb-delete-record-internal, bbdb-insert-record-internal): Do not
266 (bbdb-display-records): Put point at beginning of buffer.
267 (bbdb-redisplay-record): New optional arg sort. Throw error if
268 record was not displayed previously.
269 (bbdb-sort-records): Clarify status message. Redisplay sorted
271 * lisp/bbdb-com.el (bbdb-fix-records): Sort records.
272 (bbdb-create, bbdb-create-internal, bbdb-merge-records): Use nil
273 for unused second arg of bbdb-change-record.
274 (bbdb-edit-field, bbdb-transpose-fields): Do not worry about
276 * lisp/bbdb-mua.el (bbdb-annotate-message): Use nil
277 for unused second arg of bbdb-change-record.
279 2015-09-10 Roland Winkler <winkler@gnu.org>
280 * lisp/bbdb-anniv.el, lisp/bbdb-mu4e.el, lisp/bbdb-print.el:
281 * lisp/bbdb-snarf.el, lisp/bbdb-com.el, lisp/bbdb-message.el:
282 * lisp/bbdb-mua.el, lisp/bbdb-rmail.el, lisp/bbdb-gnus.el:
283 * lisp/bbdb-mhe.el, lisp/bbdb-pgp.el, lisp/bbdb-sc.el:
284 * lisp/bbdb-vm.el, lisp/bbdb-ispell.el, lisp/bbdb-migrate.el:
285 * lisp/bbdb-site.el.in, lisp/bbdb.el: Conform to Emacs Lisp
286 package format convention.
289 2015-09-10 Roland Winkler <winkler@gnu.org>
290 * lisp/bbdb.el (bbdb-separator-alist): Use two newline characters
293 2015-09-07 Roland Winkler <winkler@gnu.org>
294 * lisp/bbdb-com.el (bbdb-search-changed): Fix docstring.
296 2015-09-07 Roland Winkler <winkler@gnu.org>
297 * lisp/bbdb-com.el (bbdb-delete-field-or-record): Use delete for
298 phone and address fields.
300 2015-09-07 Roland Winkler <winkler@gnu.org>
301 * lisp/bbdb-com.el (bbdb-copy-records-as-kill): Fix docstring.
302 Delete unused local variable marker.
304 2015-09-07 Roland Winkler <winkler@gnu.org>
305 * lisp/bbdb-com.el (bbdb-copy-fields-as-kill): New command.
306 * lisp/bbdb.el (bbdb-separator-alist, bbdb-mode-map): Update
309 2015-05-23 Eric Abrahamsen <eric@ericabrahamsen.net>
310 * lisp/bbdb.el (bbdb-record-set-field, bbdb-parse-records): Use
311 equal for comparison when populating lists of labels.
313 2015-05-22 Roland Winkler <winkler@gnu.org>
314 Add basic support for mu4e mailer.
315 * NEWS, README: Update accordingly.
316 * m4/emacs_mu4e.m4: New file.
317 * configure.ac: Use it.
318 * lisp/bbdb-mu4e.el: New file.
319 * lisp/Makefile.am, lisp/makefile-temp: Compile it.
320 * lisp/bbdb.el (bbdb-init-forms): Add entry for mu4e.
321 (bbdb-initialize): Update docstring.
322 * lisp/bbdb-mua.el: Define mu4e~view-buffer-name.
323 (bbdb-mua-mode-alist): Add element for mu4e.
324 (bbdb-mua): Update docstring.
325 (bbdb-mua-update-records, bbdb-mua-wrapper): Handle mu4e.
327 2015-05-22 Roland Winkler <winkler@gnu.org>
328 Remove variables bbdb/MUA-update-records-p.
329 * lisp/bbdb-mua.el (bbdb-update-records): Rely only on arg
331 * lisp/bbdb-gnus.el (bbdb/gnus-update-records-p): Remove.
332 * lisp/bbdb-message.el (bbdb/mail-update-records-p)
333 (bbdb/message-update-records-p): Remove.
334 * lisp/bbdb-mh.el (bbdb/mh-update-records-p): Remove.
335 * lisp/bbdb-rmail.el (bbdb/rmail-update-records-p): Remove.
336 * lisp/bbdb-vm.el (bbdb/vm-update-records-p): Remove.
337 * README, NEWS: Update accordingly.
339 2015-05-22 Roland Winkler <winkler@gnu.org>
340 Handle prefix command bbdb-do-all-records more robustly.
341 * lisp/bbdb.el (bbdb-do-all-records): New variable.
342 (bbdb-modeline-info): Add two new slots.
343 (bbdb-mode): Use them.
344 * lisp/bbdb-com.el (bbdb-prefix-message): New function.
345 (bbdb-do-all-records, bbdb-do-records): Use variable
347 (bbdb-append-display-p): Update displayed message.
348 (bbdb-append-display): Use bbdb-prefix-message.
349 (bbdb-search-invert): Ditto. Simplify.
351 2015-05-22 Roland Winkler <winkler@gnu.org>
352 * lisp/bbdb.el (bbdb-redisplay-record): Display an undisplayed
353 record only if we do not want to delete it.
354 (bbdb-maybe-update-display): Only consider records that are
355 already displayed. Improve docstring.
357 2015-05-22 Roland Winkler <winkler@gnu.org>
358 Update copyright year in all files.
360 2014-08-30 Roland Winkler <winkler@gnu.org>
361 * lisp/bbdb-print.el (bbdb-print-require): Improve docstring.
363 2014-08-30 Roland Winkler <winkler@gnu.org>
364 * lisp/bbdb-print.el (bbdb-print): Clarify prompt for file name.
365 Issue message on what to do with TeX file.
367 2014-08-30 Roland Winkler <winkler@gnu.org>
368 * lisp/bbdb-print.el (bbdb-print-record): Handle xfields the value
371 2014-08-09 Roland Winkler <winkler@gnu.org>
372 * lisp/bbdb-snarf.el (bbdb-snarf): Always install and display the
375 2014-08-01 Roland Winkler <winkler@gnu.org>
376 * lisp/bbdb-com.el (bbdb-mail-alias-list): New function.
377 (bbdb-add-mail-alias): Handle multiple records via * prefix.
378 Allow addition or deletion of multiple aliases per record. Fix
381 2014-08-01 Roland Winkler <winkler@gnu.org>
382 * lisp/makefile-temp: Fix previous change.
384 2014-07-22 Roland Winkler <winkler@gnu.org>
385 * lisp/Makefile.am: Do not load init files or site files for byte
386 compilation (Bug#42482). Use long options.
387 * lisp/makefile-temp: Ditto. New variable emacs_compile.
389 2014-05-15 Roland Winkler <winkler@gnu.org>
390 * lisp/bbdb.el (bbdb-redisplay-record): Delete record from
391 bbdb-records if record is undisplayed.
392 * lisp/bbdb-com.el (bbdb-omit-record): Simplify. Handle records at
393 beginning and end of bbdb-buffer properly.
395 2014-05-15 Roland Winkler <winkler@gnu.org>
396 Fix and improve previous patch.
397 * lisp/bbdb.el (bbdb-update-unchanged-records): Renamed from
398 bbdb-save-unchanged-records.
399 (bbdb-with-print-loadably): Put at beginning of bbdb.el.
400 (bbdb-change-record): Return record only if we updated it.
401 * lisp/bbdb-com.el (bbdb-touch-records): Use
402 bbdb-update-unchanged-records.
403 (bbdb-insert-field, bbdb-edit-field): Issue message if record
406 2014-05-12 Roland Winkler <winkler@gnu.org>
407 * lisp/bbdb.el (bbdb-change-record): If an editing command did not
408 change a record compared to its value in bbdb-buffer, do not call
409 bbdb-change-hook and do not save it.
410 (bbdb-save-unchanged-records): New internal variable.
411 * lisp/bbdb-com.el (bbdb-touch-records): New command.
413 2014-05-12 Roland Winkler <winkler@gnu.org>
414 * lisp/makefile-temp: Create bbdb-pkg.el from bbdb-pkg.el.in.
416 2014-05-06 Roland Winkler <winkler@gnu.org>
417 Do not treat bbdb-change-hook special when inside
418 bbdb-notice-mail-hook or bbdb-notice-record-hook.
419 * lisp/bbdb.el (bbdb-notice-mail-hook, bbdb-notice-record-hook):
421 (bbdb-notice-hook-pending): Remove.
422 (bbdb-change-record): Always call bbdb-change-hook if a record was
424 * lisp/bbdb-mua.el (bbdb-update-records, bbdb-annotate-message):
427 2014-05-06 Roland Winkler <winkler@gnu.org>
428 Allow arbitrary lisp expressions as values of xfields.
429 * lisp/bbdb.el (bbdb-record-type): Update accordingly.
430 (bbdb-string-trim): New optional arg null.
431 (bbdb-record-xfield-intern): Return xfield value unmodified if it
433 (bbdb-record-xfield-string): New function.
434 (bbdb-record-xfield-split): Throw error if xfield value is not a
436 (bbdb-record-set-xfield, bbdb-record-set-field)
437 (bbdb-merge-xfield, bbdb-display-record-one-line)
438 (bbdb-display-record-multi-line)
439 * lisp/bbdb-com.el (bbdb-search, bbdb-read-field)
440 (bbdb-edit-field, bbdb-read-xfield): Allow xfield values that are
442 (bbdb-add-mail-alias): Simplify.
444 2014-05-06 Roland Winkler <winkler@gnu.org>
445 * lisp/bbdb.el (bbdb-parse-postcode): Finish immediately if one
448 2014-04-27 Roland Winkler <winkler@gnu.org>
449 * configure.ac: Increase BBDB version number to 3.1.2.
450 * NEWS: Update for release.
452 2014-04-12 Roland Winkler <winkler@gnu.org>
453 Be more careful that empty strings do not pollute the data base.
454 * lisp/bbdb.el (bbdb-list-strings): New function.
455 (bbdb-record-set-field): Use it.
456 (bbdb-record-set-xfield): Clean up.
457 * lisp/bbdb-com.el (bbdb-fix-records): New command.
458 (bbdb-read-organization, bbdb-complete-mail): Check emacs version
461 2014-04-12 Roland Winkler <winkler@gnu.org>
462 Check type of record data structures more carefully.
463 * lisp/bbdb.el (bbdb-check-type): Simplify. New arg `extended'.
464 * lisp/bbdb-com.el (bbdb-create-internal): Bug fix.
466 2014-04-12 Barak A. Pearlmutter <barak@cs.nuim.ie>
467 * lisp/Makefile.am: Include makefile-temp in distribution.
469 2014-04-12 Roland Winkler <winkler@gnu.org>
470 * lisp/bbdb-site.el.in: Be more verbose about what we want.
472 2014-04-12 Roland Winkler <winkler@gnu.org>
473 * lisp/makefile-temp: Obey proper dependencies. Clean up.
475 2014-04-12 Roland Winkler <winkler@gnu.org>
476 * lisp/bbdb-vm.el, m4/emacs_vm.m4: Require vm-autoloads.
478 2014-04-12 Roland Winkler <winkler@gnu.org>
479 * lisp/bbdb.el (bbdb-separator-alist): Treat AKAs consistent with
482 2014-03-11 Barak A. Pearlmutter <barak@cs.nuim.ie>
483 Generate lisp/bbdb-site.el via lisp/Makefile as pkgdatadir is only
484 known at "make" time.
485 * configure.ac: Remove lisp/bbdb-site.el from autoconfig files.
486 Increase BBDB version number to 3.1.1
487 * lisp/Makefile.am: Generate lisp/bbdb-site.el.
488 * lisp/bbdb-site.el.in: Initialize bbdb-print-tex-path with a
489 placeholder for pkgdatadir.
491 2014-03-11 Barak A. Pearlmutter <barak@cs.nuim.ie>
492 * Makefile.am: Install files COPYING, ChangeLog, AUTHORS, NEWS,
493 README, and TODO in the doc directory.
494 * doc/Makefile.am: Install bbdb.pdf in the doc directory.
496 2014-03-11 Barak A. Pearlmutter <barak@cs.nuim.ie>
497 * m4/package_date.m4: Use "date -u" if "date --rfc-3339" fails.
499 2014-02-28 Roland Winkler <winkler@gnu.org>
500 * configure.ac: Increase BBDB version number to 3.1.
501 * README: Update accordingly. Fix typos.
502 * Makefile.am: Include autogen.sh in distribution.
503 * lisp/Makefile.am: Include lisp/bbdb-pkg.el in distribution.
504 * lisp/makefile-temp: Include lisp/bbdb-pkg.el.
506 2014-02-28 Roland Winkler <winkler@gnu.org>
507 Do not use `prompt' in a non-emacs sense.
508 * lisp/bbdb.el: Do not autoload bbdb-search and bbdb-search-prompt
510 (bbdb-auto-revert, bbdb-silent, bbdb-default-domain)
511 (bbdb-default-area-code, bbdb-offer-to-create)
512 (bbdb-update-records-address): Fix docstring.
514 * lisp/bbdb-com.el (bbdb-search-read): Renamed from
516 (bbdb, bbdb-search-name, bbdb-search-organization)
517 (bbdb-search-address, bbdb-search-mail, bbdb-search-phone)
518 (bbdb-search-xfields): Change accordingly.
519 (bbdb-read-record, bbdb-create, bbdb-completing-read-records): Fix
521 (bbdb-read-field): Renamed from bbdb-prompt-for-new-field. Use
522 arg flag instead of current-prefix-arg. Add docstring.
523 (bbdb-insert-field): Change accordingly. Fix docstring.
524 (bbdb-edit-foo): Change accordingly.
526 * lisp/bbdb-mua.el (bbdb-query-create): Renamed from
527 bbdb-prompt-for-create.
528 (bbdb-update-records)
529 * lisp/bbdb.el (bbdb-insert-field-menu): Change accordingly.
531 2014-02-28 Roland Winkler <winkler@gnu.org>
532 * lisp/bbdb.el: Do not autoload bbdb-search and bbdb-search-prompt
534 (bbdb-address-format-list, bbdb-buffer, bbdb-revert-buffer)
535 * lisp/bbdb-com.el (bbdb-complete-mail): Fix docstring.
537 2014-02-17 Roland Winkler <winkler@gnu.org>
538 * lisp/bbdb-mua.el (bbdb-update-records): If value of arg update-p
539 is a function, evaluate it repeatedly as many times as needed.
541 2014-02-16 Roland Winkler <winkler@gnu.org>
542 * lisp/bbdb-mua.el (bbdb-update-records): Bug fix for previous
543 commit. Allow value of update-p being create, too.
545 2014-02-15 Roland Winkler <winkler@gnu.org>
546 * lisp/bbdb-mua.el (bbdb-update-records): Always evaluate arg
547 update-p twice if its value is a function.
549 2014-01-23 Roland Winkler <winkler@gnu.org>
550 * lisp/bbdb.el (bbdb-puthash, bbdb-record-set-xfield)
551 (bbdb-record-set-field, bbdb-parse-records, bbdb-change-record):
552 Bugfix, make 'eq the 4th arg of add-to-list.
554 2014-01-23 Stefan Monnier <monnier@iro.umontreal.ca>
555 * lisp/bbdb.el (bbdb-read-string): In
556 minibuffer-local-completion-map remove the binding of SPC to
557 minibuffer-complete-word and of ? to minibuffer-completion-help.
559 2014-01-12 Roland Winkler <winkler@gnu.org>
560 * lisp/bbdb.el (bbdb-pop-up-window-simple): New function.
561 (bbdb-pop-up-window): Use it. Make sure the *BBDB* buffer exists.
562 Use display-buffer as an alternative to pop-up-buffer if the
563 *BBDB* buffer is not selected. Use the tallest window even if
564 bbdb-pop-up-window-size is 1.0.
565 (bbdb-pop-up-window-size): Fix docstring accordingly.
566 * lisp/bbdb-com.el (bbdb-complete-mail-cleanup): Do not call
567 bbdb-pop-up-window before we created for sure the *BBDB* buffer.
569 2014-01-12 Roland Winkler <winkler@gnu.org>
570 Provide auto completion for streets and postcodes known to BBDB.
571 * lisp/bbdb.el (bbdb-street-list, bbdb-postcode-list): New
573 (bbdb-record-set-xfield, bbdb-parse-records)
574 * lisp/bbdb-com.el (bbdb-record-edit-address)
575 (bbdb-edit-address-default): Use them.
577 2014-01-08 Roland Winkler <winkler@gnu.org>
578 * lisp/bbdb.el (bbdb-canonical-hosts, bbdb-canonicalize-mail-1)
579 (bbdb-message-clean-name-default): Move here from bbdb-mua.el.
581 2014-01-08 Roland Winkler <winkler@gnu.org>
582 Provide auto completion for cities, states and countries known to
584 * lisp/bbdb.el (bbdb-city-list, bbdb-state-list)
585 (bbdb-country-list): New internal variables.
586 (bbdb-add-to-list): New function.
587 (bbdb-puthash, bbdb-merge-concat-remove-duplicates)
588 (bbdb-change-record): Use add-to-list.
589 (bbdb-record-set-xfield, bbdb-parse-records): Use add-to-list and
590 bbdb-add-to-list. Collect cities, states and countries known to
592 * lisp/bbdb-com.el (bbdb-record-edit-address)
593 (bbdb-edit-address-default): Provide auto completion for cities,
594 states and countries.
596 2014-01-03 Roland Winkler <winkler@gnu.org>
597 Update copyright year in all files.
599 2014-01-03 Roland Winkler <winkler@gnu.org>
600 Avoid hard-coded references to xfield notes.
601 * lisp/bbdb.el (bbdb-default-xfield, bbdb-edit-foo)
602 (bbdb-annotate-field, bbdb-mua-edit-field): New variables.
603 (bbdb-auto-notes-rules): Fix docstring.
604 * lisp/bbdb-com.el (bbdb-edit-foo): New command.
605 (bbdb-search, bbdb-read-record): Use bbdb-default-xfield.
606 (bbdb-insert-field): Do not handle initial value.
607 (bbdb-prompt-for-new-field): Replace arg init by arg record to
608 handle initial value here.
609 * lisp/bbdb.el (bbdb-insert-field-menu): Change accordingly.
610 * lisp/bbdb-mua.el (bbdb-annotate-record): Use
611 bbdb-annotate-field. Allow empty strings for removing an xfield.
612 (bbdb-mua-annotate-field-interactive): New function.
613 (bbdb-mua-annotate-sender, bbdb-mua-annotate-recipients): Use it.
614 New optional arg field.
615 (bbdb-mua-edit-field-interactive, bbdb-mua-edit-field)
616 (bbdb-mua-edit-field-sender, bbdb-mua-edit-field-recipients): Use
617 variable bbdb-mua-edit-field.
618 (bbdb-mua-edit-field-recipients): Use bbdb-default-xfield.
619 * lisp/bbdb-snarf.el (bbdb-snarf-notes): Use bbdb-default-xfield.
621 2014-01-03 Roland Winkler <winkler@gnu.org>
622 After editing always update display in all BBDB buffers.
623 * lisp/bbdb.el (bbdb-delete-record-internal): Rename optional arg
624 remhash to completely. Undisplay record if non-nil.
625 (bbdb-maybe-update-display): Update record in all BBDB buffers.
626 (bbdb-change-record): Call it.
627 (bbdb-redisplay-records): Remove.
628 (bbdb-undisplay-records): New optional arg all-buffers.
629 (bbdb-revert-buffer): Use it.
630 * lisp/bbdb-com.el (bbdb-insert-field, bbdb-transpose-fields)
631 (bbdb-delete-field-or-record, bbdb-delete-records)
632 (bbdb-merge-records, bbdb-sort-addresses, bbdb-sort-phones)
633 (bbdb-sort-xfields, bbdb-add-mail-alias)
634 * lisp/bbdb-mua.el (bbdb-mua-edit-field): Do not call
635 bbdb-maybe-update-display.
636 * README: update accordingly.
638 2014-01-03 Roland Winkler <winkler@gnu.org>
639 Clean up supercite support.
640 * lisp/bbdb.el (bbdb-utilities-sc): New custom group
641 (bbdb-initialize): Update docstring.
642 * lisp/bbdb-sc.el: Update doc.
643 (bbdb-sc-attribution-field): Rename from
644 bbdb/sc-attribution-field, keeping the old name as obsolete alias.
645 (bbdb-sc-update-records-p): New variable.
646 (bbdb-sc-update-attrib-p): Rename from bbdb/sc-replace-attr-p.
647 (bbdb-sc-last-attrib): Rename from bbdb/sc-last-attribution. Make
648 it internal variable.
649 (bbdb-sc-set-attrib): Rename from bbdb/sc-set-attr, keeping the
650 old name as obsolete alias.
651 (bbdb-sc-update-from): Rename from bbdb/sc-default, keeping the
652 old name as obsolete alias.
654 2014-01-03 Roland Winkler <winkler@gnu.org>
655 Overhaul lisp/bbdb-pgp.el for BBDB 3.
656 * lisp/bbdb-pgp.el (bbdb-pgp-field): Rename from bbdb/pgp-field.
657 (bbdb-pgp-default): Rename from bbdb/pgp-default-action.
658 (bbdb-pgp-ranked-actions, bbdb-pgp-headers)
659 (bbdb-pgp-method-alist): New variables.
660 (bbdb/pgp-quiet): Obsolete.
661 (bbdb-pgp-method): Rename from bbdb/pgp-method. Include support
663 (bbdb-read-xfield-pgp-mail): New function.
664 (bbdb-pgp): Rename from bbdb/pgp-sign. Make it a command.
665 Consider all message recipients in bbdb-pgp-headers. Use
666 bbdb-pgp-ranked-actions, bbdb-pgp-headers, and
667 bbdb-pgp-method-alist.
668 * lisp/bbdb.el (bbdb-utilities-pgp): New custom group
669 (bbdb-init-forms): Add init form for bbdb-pgp.
670 (bbdb-initialize): Update docstring accordingly.
671 * lisp/Makefile.am, lisp/makefile-temp: Support
674 2014-01-03 Gijs Hillenius <gijs@hillenius.com>
675 * lisp/bbdb-pgp.el: Adapt for BBDB 3. Remove outdated mailcrypt
677 (bbdb/pgp-method): New default mml-pgpmime.
678 (bbdb/pgp-get-pgp): Use bbdb-message-search and bbdb-record-field.
680 2014-01-03 Kevin Davidson <tkld@quadstone.com>
681 * lisp/bbdb-pgp.el: New file (taken from BBDB 2).
683 2014-01-03 Roland Winkler <winkler@gnu.org>
684 More flexible editing of xfields.
685 * lisp/bbdb.el (bbdb-read-string): Rename optional arg default to
686 init. New optional arg require-match.
687 * lisp/bbdb-com.el (bbdb-read-organization)
688 (bbdb-record-edit-address, bbdb-completing-read-mails): Rename
689 optional arg default to init.
690 (bbdb-insert-field): Simplify.
691 (bbdb-read-xfield): New function.
692 (bbdb-prompt-for-new-field, bbdb-edit-field): Use it.
694 2014-01-03 Roland Winkler <winkler@gnu.org>
695 * lisp/bbdb.el (bbdb-init-forms): Add init form for anniv.
696 (bbdb-initialize): Update docstring accordingly.
697 * lisp/bbdb-anniv.el: Update doc accordingly.
699 2014-01-03 Roland Winkler <winkler@gnu.org>
700 Clean up handling of redundant email addresses.
701 * lisp/bbdb.el (bbdb-ignore-redundant-mails): Rename from
702 bbdb-canonicalize-redundant-mails, keeping the latter as obsolete
704 (bbdb-add-mails, bbdb-canonicalize-mail-function): Fix docstring.
705 * lisp/bbdb-com.el (bbdb-mail-redundant-re): New function
706 (bbdb-delete-redundant-mails): Move here from lisp/bbdb-mua.el.
707 Merge with command bbdb-delete-duplicate-mails and make the latter
708 an obsolete alias. New optional args query and update.
709 * lisp/bbdb-mua.el (bbdb-annotate-message): Use
710 bbdb-mail-redundant-re and bbdb-delete-redundant-mails.
711 (bbdb-mail-redundant-p): Remove.
712 (bbdb-canonical-hosts): Update docstring.
714 2014-01-03 Roland Winkler <winkler@gnu.org>
715 Check more carefully/frequently that BBDB is editable.
716 * lisp/bbdb.el (bbdb-editable): Move here from lisp/bbdb-com.el.
717 Revert BBDB buffer if possible.
718 * lisp/bbdb.el (bbdb-record-set-field)
719 * lisp/bbdb-com.el (bbdb-read-record, bbdb-create-internal)
720 (bbdb-merge-records, bbdb-sort-addresses, bbdb-sort-phones)
722 * lisp/bbdb-snarf.el (bbdb-snarf): Check that BBDB is editable.
723 * lisp/bbdb-mua.el (bbdb-update-records): Obey bbdb-read-only.
724 (bbdb-annotate-message): Ignore bbdb-read-only.
725 (bbdb-auto-notes): Check that BBDB is editable.
727 2014-01-03 Roland Winkler <winkler@gnu.org>
728 * lisp/bbdb.el (bbdb-check-name, bbdb-extract-address-components):
730 * lisp/bbdb-com.el (bbdb-search-duplicates): Fix warning message.
732 * lisp/bbdb-mua.el (bbdb-auto-notes)
733 (bbdb-mua-update-interactive-p): Fix docstring.
735 2014-01-03 Roland Winkler <winkler@gnu.org>
736 Display records for messages more flexibly.
737 * lisp/bbdb-mua.el (bbdb-update-records, bbdb-mua-update-records):
738 New optional arg sort.
739 (bbdb-mua-display-records): New optional arg all.
740 (bbdb-mua-display-all-records): New command.
741 (bbdb-mua-display-all-recipients): Renamed from
742 bbdb-display-all-recipients.
744 2014-01-03 Roland Winkler <winkler@gnu.org>
745 Handle new records more carefully.
746 * lisp/bbdb.el (bbdb-empty-record): New function.
747 (bbdb-change-record): Use bbdb-create-hook. Fix docstring.
748 (bbdb-insert-record-internal, bbdb-overwrite-record-internal): Fix
750 * lisp/bbdb-com.el (bbdb-create): Do not use bbdb-create-hook.
751 (bbdb-create-internal): Make arg name optional and allow a nil
752 value. Check validity of arguments only if new arg check is
754 (bbdb-merge-records): Return record.
755 * lisp/bbdb-mua.el (bbdb-annotate-message): Use bbdb-empty-record.
756 Handle case that arg create-p is a function. Do not use
758 * lisp/bbdb-snarf.el (bbdb-snarf): Use bbdb-empty-record. Return
759 record. Do not use bbdb-create-hook.
761 2014-01-03 Roland Winkler <winkler@gnu.org>
762 * lisp/bbdb-snarf.el (bbdb-snarf-rule-interactive): Use
765 2013-11-16 Roland Winkler <winkler@gnu.org>
766 * configure.ac: Increase BBDB version number to 3.0.50.
768 2013-11-16 Christian Egli <christian.egli@sbs.ch>
769 * Makefile.am: New target elpa.
770 * lisp/bbdb-pkg.el.in: New file for elpa.
771 * configure.ac, .gitignore: Handle it.
772 * lisp/Makefile.am: Define CLEANFILES and EXTRA_DIST.
774 2013-11-16 Roland Winkler <winkler@gnu.org>
775 * m4/package_date.m4: Use git log.
777 2013-11-16 Roland Winkler <winkler@gnu.org>
778 * lisp/bbdb-sc.el: Fix documentation.
779 (bbdb/sc-consult-attr): Do not use car.
782 2013-11-16 Roland Winkler <winkler@gnu.org>
783 * lisp/bbdb.el (bbdb-field-menu): Use format. Call
784 bbdb-browse-url for url xfields.
785 (bbdb-mouse-menu): Use format.
787 2013-11-16 Roland Winkler <winkler@gnu.org>
788 * lisp/bbdb.el (bbdb-mua-update-interactive-p): Clarify doc string.
790 2013-11-16 Roland Winkler <winkler@gnu.org>
791 * lisp/bbdb.el (bbdb-file): Use locate-user-emacs-file.
793 2013-11-16 Roland Winkler <winkler@gnu.org>
794 * lisp/bbdb-com.el (bbdb-complete-mail): Only complete inside a
795 syntactically correct mail header.
797 2013-10-06 Roland Winkler <winkler@gnu.org>
798 * lisp/makefile-temp: Add commentary. Copy bbdb-site.el.in to
799 bbdb-site.el. Clean up.
803 2013-07-28 Roland Winkler <winkler@gnu.org>
804 * doc/bbdb.texi: Add @dircategory and @direntry.
807 2013-07-28 Roland Winkler <winkler@gnu.org>
808 * m4/package_date.m4: Use more robust output redirection.
811 2013-07-28 Roland Winkler <winkler@gnu.org>
812 * m4/emacs_vm.m4: Fix typo.
814 2013-07-28 Roland Winkler <winkler@gnu.org>
815 * m4/emacs_vm.m4: Define conditional VM unconditionally.
817 2013-07-27 Roland Winkler <winkler@gnu.org>
818 * m4/emacs_vm.m4, m4/package_date.m4: New files.
819 * configure.ac: Use them. Use brackets for AC_PREREQ. Define
820 macro directory. Use Automake options -Wall and gnu.
821 * autgogen.sh: Simplify. Use option --force.
822 * lisp/bbdb-site.el.in: Renamed from lisp/bbdb-version.el.in.
823 Define bbdb-print-tex-path.
824 * lisp/bbdb.el, lisp/bbdb-print.el, lisp/Makefile.am: Update
826 * .gitignore: Cover more files.
827 * INSTALL: Remove. Merge with README.
828 * README: Update accordingly.
830 2013-07-18 Roland Winkler <winkler@gnu.org>
831 Clean up usage of automake and autoconf.
832 * lisp/bbdb-version.el.in: New file.
833 * lisp/bbdb.el, lisp/Makefile.am: Use it.
834 * configure.ac: Use AC_CONFIG_SRCDIR. Require Automake 1.13.
835 Test for presence of Emacs. Configure lisp/bbdb-version.el.
836 * .gitignore: Ignore aclocal.m4, doc/texinfo.tex, install-sh,
837 lisp/bbdb-version.el, and missing.
838 * aclocal.m4, install-sh: Removed.
840 2013-07-17 Roland Winkler <winkler@gnu.org>
841 Use Automake. (Thanks to Christian Egli <christian.egli@sbs.ch>)
842 * Makefile.am, lisp/Makefile.am, doc/Makefile.am, tex/Makefile.am,
843 autogen.sh, AUTHORS, NEWS: New files.
844 * Makefile.in, lisp/Makefile.in, doc/Makefile.in, tex/Makefile.in:
846 * configure.ac: Use automake.
847 * INSTALL: Update accordingly.
848 * .gitignore: Ignore Makefile.in.
850 * lisp/bbdb-print.el (bbdb-print-tex-path): New variable.
851 (bbdb-print): Use it.
853 2013-07-07 Roland Winkler <winkler@gnu.org>
854 * lisp/bbdb-mua.el (bbdb-mua-auto-update): Use bbdb-pop-up-layout.
856 2013-07-07 Roland Winkler <winkler@gnu.org>
857 * lisp/bbdb.el (bbdb-buffer): Simplify. Avoid creating auto-save
858 files for bbdb-file till it contains at least one record.
859 * lisp/bbdb.el (bbdb-revert-buffer): Handle the case that we did
860 not yet create bbdb-file.
862 2013-07-07 Roland Winkler <winkler@gnu.org>
863 * lisp/bbdb.el (bbdb-update-records-p): Fix docstring.
865 2013-05-26 Roland Winkler <winkler@gnu.org>
866 * configure.ac: Remove option --enable-developer.
867 * lisp/Makefile.in, lisp/makefile-temp: Remove HUSHMAKE and
868 PUSHPATH. Use emacs options --quick and --directory.
870 2013-05-26 Roland Winkler <winkler@gnu.org>
871 * aclocal.m4: Convert VM path to absolute and canonicalize it. Use
872 more verbose error message.
874 2013-05-26 Roland Winkler <winkler@gnu.org>
875 Use new function bbdb-extract-address-components which honors
876 bbdb-message-clean-name-function and
877 bbdb-canonicalize-mail-function.
879 * lisp/bbdb.el (bbdb-clean-address-components)
880 (bbdb-extract-address-components): New functions.
881 (bbdb-decompose-bbdb-address): Renamed from
882 bbdb-extract-address-components.
883 (bbdb-puthash-mail): Use it.
885 * lisp/bbdb-com.el (bbdb-message-search): Do nothing if both args
887 (bbdb-complete-mail, bbdb-complete-mail-cleanup): Use
888 bbdb-extract-address-components.
890 * lisp/bbdb-mua.el (bbdb-get-address-components)
891 (bbdb-mua-summary-unify, bbdb-mua-summary-mark): Use
892 bbdb-extract-address-components.
893 (bbdb-canonicalize-mail): Remove.
895 * lisp/bbdb-snarf.el (bbdb-snarf-name-mail)
896 (bbdb-snarf-mail-address): Use bbdb-extract-address-components.
898 * lisp/bbdb-sc.el (bbdb/sc-consult-attr, bbdb/sc-default): Use
899 bbdb-extract-address-components.
901 * lisp/bbdb-vm.el (vm-summary-function-B): Simplify.
902 (bbdb/vm-alternate-full-name): Use
903 bbdb-extract-address-components.
905 2013-04-21 Leo Liu <sdl.web@gmail.com>
906 * lisp/bbdb-mua.el (bbdb-mua-summary-mark): Do not call
907 bbdb-mua-summary-mark-field as a function if it is not a function.
909 2013-04-13 Roland Winkler <winkler@gnu.org>
910 * lisp/bbdb.el (bbdb-utilities-snarf): New custom group.
911 * lisp/bbdb-snarf.el: New file.
912 * lisp/Makefile.in, lisp/makefile-temp: Compile it.
914 2013-04-13 Roland Winkler <winkler@gnu.org>
915 * lisp/bbdb-com.el (bbdb-merge-records): Fix docstring. Merge
916 also affixes. Do not enforce multi-line layout for display.
918 2013-04-13 Roland Winkler <winkler@gnu.org>
919 * lisp/bbdb.el (bbdb-format-address-default, bbdb-format-address):
920 Allow city, postcode, state, and country to be nil.
922 2013-04-13 Roland Winkler <winkler@gnu.org>
923 * lisp/bbdb.el (bbdb-hash-record, bbdb-change-record): Fix
926 2013-04-13 Roland Winkler <winkler@gnu.org>
927 * lisp/bbdb.el (bbdb-new-mails-primary): Change default to query.
929 2013-04-13 Roland Winkler <winkler@gnu.org>
930 * lisp/bbdb-mua.el (bbdb-mua-summary-unify)
931 (bbdb-mua-summary-mark): Allow bbdb-mua-summary-mark-field to be a
933 * lisp/bbdb.el (bbdb-mua-summary-mark-field): Fix docstring.
935 2013-04-13 Roland Winkler <winkler@gnu.org>
936 * lisp/bbdb.el (bbdb-extract-address-components): New function.
937 (bbdb-puthash-mail): Use it.
938 * lisp/bbdb-com.el (bbdb-dwim-mail): Use it.
940 2013-04-13 Roland Winkler <winkler@gnu.org>
941 * lisp/bbdb-com.el (bbdb-complete-mail): Simplify. Do not throw
942 error messages that prevent other completion functions to take
945 2013-04-13 Roland Winkler <winkler@gnu.org>
946 * lisp/bbdb-vm.el (bbdb/vm-auto-folder-field)
947 (bbdb/vm-virtual-folder-field, bbdb/vm-auto-folder)
948 (bbdb/vm-auto-add-label-list, bbdb/vm-auto-add-label-field): Fix
950 (bbdb/vm-virtual-folder): Check more carefully whether
951 vm-virtual-folder-alist contains already what we want to add. Fix
954 2013-04-13 Roland Winkler <winkler@gnu.org>
955 * lisp/bbdb-sc.el (bbdb/sc-attribution-field): Fix docstring.
957 2013-04-13 Roland Winkler <winkler@gnu.org>
958 * tex/Makefile.in: Acknowledge DESTDIR.
960 2013-02-16 Roland Winkler <winkler@gnu.org>
961 * lisp/bbdb.el (bbdb-mail-name-format, bbdb-mail-name): New
963 * lisp/bbdb-com.el (bbdb-dwim-mail): Use them. Always quote the
964 name part of a mail address if necessary.
965 (bbdb-quoted-string-syntax-table): New internal variable.
966 (bbdb-complete-mail): Use it to find starting point for
967 completion. Before proper cycling, reformat the original mail
968 address to match an element of dwim-completions. Use
969 completion-ignore-case instead of downcase. Do not use trimmed
970 pattern. Issue warning message if attempting to create a
971 *Completions* buffer with GNU Emacs older than 23.2. Use the
972 default value of completion-list-insert-choice-function to locally
974 (bbdb-complete-mail-cleanup): New arg beg. Use indent-relative.
976 * lisp/bbdb-print.el (bbdb-print-name-format, bbdb-print-name):
978 (bbdb-print-record): Use them,
980 2013-02-16 Roland Winkler <winkler@gnu.org>
981 * lisp/bbdb-com.el (bbdb-mail-yank): Bind case-fold-search to t.
983 2013-02-15 Roland Winkler <winkler@gnu.org>
984 * lisp/bbdb-com.el (bbdb-delete-field-or-record): Handle multiple
987 2013-02-15 Roland Winkler <winkler@gnu.org>
988 * lisp/bbdb.el (bbdb-delete-record-internal)
989 (bbdb-insert-record-internal, bbdb-overwrite-record-internal): Use
992 2013-02-15 Roland Winkler <winkler@gnu.org>
993 * lisp/bbdb.el (bbdb-changed-records, bbdb-hashtable): Doc fix.
995 2013-02-15 Roland Winkler <winkler@gnu.org>
996 * lisp/bbdb.el (bbdb-modified): Removed.
997 (bbdb-buffer, bbdb-after-save, bbdb-delete-record-internal)
998 (bbdb-insert-record-internal, bbdb-overwrite-record-internal)
999 (bbdb-sort-records): Do not set bbdb-modified.
1000 (bbdb-mode): Use buffer-modified-p.
1002 2013-02-02 Roland Winkler <winkler@gnu.org>
1003 * lisp/bbdb.el (bbdb-mail-user-agent): Use non-nil default taken
1004 from mail-user-agent.
1005 (bbdb-lastname-re, bbdb-lastname-suffix-re): New user variables.
1006 (bbdb-divide-name): Use them. Pass first and last name through
1009 * lisp/bbdb-mua.el (bbdb-canonicalize-mail): Always pass mail
1010 through bbdb-string-trim.
1011 (bbdb-canonicalize-mail-1): Always pass mail through
1013 (bbdb-canonical-hosts): Use regxp-opt instead of regexp-quote.
1014 (bbdb-message-clean-name-default): Re-arrange clean-up steps. Use
1015 substring-no-properties.
1017 2013-01-20 Roland Winkler <winkler@gnu.org>
1018 * aclocal.m4: Do not throw an error if tex_dir does not exist.
1020 2013-01-20 Roland Winkler <winkler@gnu.org>
1021 * doc/Makefile.in, tex/Makefile.in: Provide the DESTDIR variable.
1024 2013-01-13 Roland Winkler <winkler@gnu.org>
1025 * lisp/bbdb.el (bbdb-parse-records): Set bbdb-xfield-labels-list
1026 and bbdb-organization-list to nil only once.
1028 2013-01-13 Roland Winkler <winkler@gnu.org>
1029 Update copyright year in all files.
1031 2013-01-13 Roland Winkler <winkler@gnu.org>
1032 * lisp/bbdb.el (bbdb-organization-list): New variable.
1033 (bbdb-record-set-field): Use it. Update bbdb-phone-label-list,
1034 bbdb-address-label-list, and bbdb-xfield-label-list.
1035 ((bbdb-set-xfield-labels): Removed
1036 (bbdb-record-set-xfield): Set bbdb-xfield-labels-list explicitly.
1037 (bbdb-label-completion-list): Removed.
1038 (bbdb-parse-records): Do not set bbdb-phone-label-list and
1039 bbdb-address-label-list in a circular way. Set
1040 bbdb-organization-list.
1042 * lisp/bbdb-com.el: Require crm.
1043 (bbdb-crm-local-completion-map): New variable.
1044 (bbdb-read-organization): New function.
1045 (bbdb-read-record, bbdb-prompt-for-new-field): Use it. Directly
1046 use bbdb-phone-label-list and bbdb-address-label-list.
1047 Do not call bbdb-set-xfield-labels, which was redundant.
1048 (bbdb-edit-field): Use bbdb-read-organization and
1050 (bbdb-record-edit-address): Use bbdb-address-label-list directly.
1051 (bbdb-record-edit-phone): Use bbdb-phone-label-list directly.
1053 2012-12-30 Roland Winkler <winkler@gnu.org>
1054 * configure.ac: Option --with-tex-dir renamed from
1057 2012-12-30 Roland Winkler <winkler@gnu.org>
1058 * lisp/bbdb-sc.el: New file
1059 * lisp/Makefile.in, lisp/makefile-temp, lisp/bbdb.el
1060 (bbdb-init-forms, bbdb-initialize): Use it.
1062 2012-12-30 Roland Winkler <winkler@gnu.org>
1063 * INSTALL: List all BBDB configure options.
1064 * aclocal.m4, tex/Makefile.in: Option --with-tex-dir renamed from
1067 2012-12-30 Roland Winkler <winkler@gnu.org>
1068 * lisp/bbdb-gnus.el: Do not use eval-and-compile.
1069 (bbdb/gnus-split-myaddr-regexp): Do not use obsolete variable
1071 (bbdb/gnus-split-private-field, bbdb/gnus-split-public-field): Fix
1074 * lisp/bbdb-vm.el, lisp/bbdb-message.el, lisp/bbdb-mhe.el: Do not
1075 use eval-and-compile.
1077 2012-12-30 Roland Winkler <winkler@gnu.org>
1078 * lisp/bbdb.el (bbdb-mua-summary-unification-list)
1079 (bbdb-mua-summary-mark-field, bbdb-mua-summary-mark)
1080 (bbdb-mua-summary-unify-format-letter)
1081 (bbdb-mua-summary-mark-format-letter): New user variables.
1083 * lisp/bbdb-mua.el (bbdb-mua-summary-unify)
1084 (bbdb-mua-summary-mark): New functions.
1086 * lisp/bbdb-gnus.el (bbdb/gnus-summary-mark-known-posters)
1087 (bbdb/gnus-mark-known-posters)
1088 (bbdb/gnus-summary-known-poster-mark)
1089 (bbdb/gnus-summary-show-bbdb-names)
1090 (bbdb/gnus-header-show-bbdb-names)
1091 (bbdb/gnus-summary-prefer-bbdb-data)
1092 (bbdb/gnus-summary-prefer-real-names)
1093 (bbdb/gnus-header-prefer-real-names)
1094 (bbdb/gnus-summary-user-format-letter)
1095 (bbdb/gnus-summary-in-bbdb-format-letter)
1096 (bbdb/gnus-message-marker-field, bbdb/gnus-summary-get-sender)
1097 (bbdb/gnus-summary-sender-in-bbdb): Removed.
1098 (bbdb-insinuate-gnus): Use bbdb-mua-summary-unify and
1099 bbdb-mua-summary-mark.
1101 2012-12-27 Roland Winkler <winkler@gnu.org>
1102 * lisp/bbdb-mua.el (bbdb-mua-wrapper): Add edebug support.
1103 Suggested by Leo <sdl.web@gmail.com>.
1105 * lisp/bbdb-gnus (bbdb-insinuate-gnus): Fix keybindings for
1106 gnus-article-mode. Suggested by Leo <sdl.web@gmail.com>.
1108 * lisp/bbdb-com.el (bbdb-grab-url): Fail early if no URL at point.
1109 Suggested by Leo <sdl.web@gmail.com>.
1111 2012-12-26 Roland Winkler <winkler@gnu.org>
1112 * lisp/bbdb-com.el (bbdb-complete-mail): Check every record from
1113 the completion list for each possible completion.
1115 2012-12-26 Roland Winkler <winkler@gnu.org>
1116 * lisp/bbdb.el (bbdb-dedicated-window): New user variable.
1117 (bbdb-mua-pop-up): Renamed from bbdb-message-pop-up. Doc fix.
1118 (bbdb-mua-pop-up-window-size): New variable.
1119 (bbdb-pop-up-window-size): Doc fix. Allow value t.
1120 (bbdb-pop-up-window): Use it. Simplify. Use
1121 display-buffer-record-window / set-window-dedicated-p so that the
1122 BBDB window is popped up such that quit-window can delete it.
1123 Suggested by Martin Rudalics.
1124 (bbdb-display-records): Clean up.
1126 * lisp/bbdb-mua.el (bbdb-mua-mode-alist): New variable.
1128 (bbdb-mua-window-p): New function.
1129 (bbdb-mua-display-records, bbdb-mua-edit-field)
1130 (bbdb-mua-auto-update): Use it.
1132 2012-12-25 Roland Winkler <winkler@gnu.org>
1133 * lisp/bbdb-vm.el: (bbdb/vm-auto-add-label-list)
1134 (bbdb/vm-auto-add-label-field): Doc fix.
1135 (bbdb/vm-auto-add-label): Doc fix and cleanup.
1137 2012-12-25 Roland Winkler <winkler@gnu.org>
1138 * README: Minor docfix.
1140 2012-12-25 Roland Winkler <winkler@gnu.org>
1141 * lisp/bbdb.el, lisp/bbdb-com.el, lisp/bbdb-mua.el:
1142 * lisp/bbdb-print.el, lisp/bbdb-anniv.el, lisp/bbdb-ispell.el:
1143 * lisp/bbdb-migrate.el, lisp/bbdb-vm.el, lisp/bbdb-gnus.el: For
1144 the user-defined fields of a record replace the generic internal
1145 name `notes' by `xfield'.
1147 * lisp/bbdb.el (bbdb-layout-alist, bbdb-name-format, bbdb-image)
1148 (bbdb-default-domain, bbdb-auto-notes-rules)
1149 (bbdb-mail-alias-field, bbdb-name-face-alist, bbdb-record-type)
1150 (bbdb-timestamp, bbdb-creation-date)
1151 (bbdb-display-name-organization): Doc fix.
1152 (bbdb-xfields-sort-order): Renamed from bbdb-notes-sort-order
1153 (bbdb-merge-xfield-function-alist): Renamed from
1154 bbdb-merge-notes-function-alist
1155 (bbdb-xfield-label-list): Renamed from bbdb-notes-label-list.
1156 (bbdb-record-xfields): Renamed from bbdb-record-Notes.
1157 (bbdb-record-set-xfields): Renamed from bbdb-record-set-Notes.
1158 (bbdb-record-xfield): Renamed from bbdb-record-note.
1159 (bbdb-record-set-xfield): Renamed from bbdb-record-set-note.
1160 (bbdb-record-xfield-intern): Renamed from bbdb-record-note-intern.
1161 (bbdb-record-xfield-split): Renamed from bbdb-record-note-split
1162 (bbdb-set-xfield-labels): Renamed from bbdb-set-notes-labels
1163 (bbdb-merge-xfield): Renamed from bbdb-merge-note.
1165 * lisp/bbdb-com.el (bbdb-search, bbdb, bbdb-compare-records)
1166 (bbdb-create-internal, bbdb-edit-field): Doc fix.
1167 (bbdb-search-xfields): Renamed from bbdb-search-notes.
1168 (bbdb-message-search): Make search more robust.
1169 (bbdb-sort-xfields): Renamed from bbdb-sort-notes.
1171 2012-12-25 Roland Winkler <winkler@gnu.org>
1172 * lisp/bbdb.el (bbdb-parse-records): If multiple records have the
1173 same name, hash all these records.
1174 (bbdb-allow-duplicates): Doc fix.
1176 2012-09-23 Roland Winkler <winkler@gnu.org>
1177 Add more complete support for mail entries containing RFC-822
1178 addresses such as "John Smith <smith@foo.com>" in the record of
1181 * lisp/bbdb.el (bbdb-defstruct): Doc fix. Improve doc string of
1182 functions defined via this macro.
1183 (bbdb-cache-mail-aka, bbdb-cache-mail-canon): New elements of
1185 (bbdb-record-mail-aka, bbdb-record-mail-canon): New functions.
1186 (bbdb-hash-p): New function.
1187 (bbdb-gethash): Use it.
1188 (bbdb-puthash-mail): New function.
1189 (bbdb-hash-record): Use it.
1190 (bbdb-record-field): Renamed from bbdb-record-get-field.
1191 New field values mail-canon, mail-aka and aka-all. Doc fix.
1192 (bbdb-record-get-field): Obsolete function alias.
1193 (bbdb-record-set-field): Doc fix. Update hash for mail entries
1194 such as "John Smith <smith@foo.com>".
1195 (bbdb-delete-record-internal): Use canonical mail addresses and
1196 all AKAs when cleaning up the hash.
1198 * lisp/bbdb-com.el (bbdb-search): Use bbdb-record-field.
1199 (bbdb-search-duplicates): Use bbdb-record-mail-canon.
1200 (bbdb-message-search): Simplify.
1201 (bbdb-edit-field): Doc fix.
1202 (bbdb-ident-point, bbdb-transpose-fields)
1203 (bbdb-delete-field-or-record): Use bbdb-record-field.
1204 (bbdb-completion-predicate): Use bbdb-hash-p.
1205 (bbdb-complete-mail): Compare with all AKAs. A plain message
1206 search should be sufficient.
1208 * lisp/bbdb-mual.el (bbdb-annotate-message): Compare with
1209 canonical mail addresses.
1211 * lisp/bbdb-ispell.el (bbdb-ispell-export): Use bbdb-record-field.
1213 * README: Notes for BBDB lisp hackers added.
1215 2012-09-23 Roland Winkler <winkler@gnu.org>
1216 * lisp/bbdb.el (bbdb-mua-auto-update-p): Doc fix.
1217 (bbdb-message-pop-up): Change default to t.
1219 * lisp/bbdb-mua.el (bbdb-mua-auto-update)
1220 (bbdb-mua-auto-update-init): Doc fix.
1221 (bbdb-mua-auto-update): Simplify.
1223 * README: Clarify usage of bbdb-mua-auto-update.
1225 2012-09-09 Roland Winkler <winkler@gnu.org>
1226 Provide unified scheme for customizing how BBDB analyzes messages.
1228 * lisp/bbdb.el (bbdb-add-name): Renamed from
1229 bbdb-accept-name-mismatch.
1230 (bbdb-add-aka): Renamed from bbdb-use-alternate-names.
1231 (bbdb-new-mails-primary): Renamed from
1232 bbdb-new-mails-always-primary.
1233 (bbdb-add-name, bbdb-add-aka, bbdb-add-mails)
1234 (bbdb-new-mails-primary): Unify set of allowed values.
1235 (bbdb-add-job, bbdb-eval-spec): New functions.
1236 (bbdb-mode): Update docstring.
1238 * lisp/bbdb-com.el (bbdb-merge-records): Use bbdb-add-aka.
1240 * lisp/bbdb-mua.el (bbdb-annotate-message): Use bbdb-add-name,
1241 bbdb-add-aka, bbdb-add-mails, and bbdb-new-mails-primary.
1243 2012-09-08 Roland Winkler <winkler@gnu.org>
1244 * lisp/bbdb-mua.el (bbdb-message-header): Use
1245 gnus-fetch-original-field so that bbdb-select-message does not get
1246 fooled by an apparent absence of some headers.
1248 2012-09-07 Roland Winkler <winkler@gnu.org>
1249 * lisp/bbdb.el (bbdb-accept-name-mismatch): Allow value being a
1251 * lisp/bbdb-mua.el (bbdb-annotate-message): Use these new values.
1253 2012-09-01 Roland Winkler <winkler@gnu.org>
1254 * lisp/bbdb-mua.el (bbdb-mua-edit-field): Bug fix.
1256 2012-09-01 Roland Winkler <winkler@gnu.org>
1257 * lisp/bbdb.el (bbdb-record-set-field): Bug fix.
1259 2012-09-01 Roland Winkler <winkler@gnu.org>
1260 * lisp/bbdb.el (bbdb-with-print-loadably): New macro.
1261 (bbdb-insert-record-internal, bbdb-overwrite-record-internal)
1262 (bbdb-sort-records): Use it.
1264 2012-08-11 Roland Winkler <winkler@gnu.org>
1265 * lisp/bbdb-com.el (bbdb-complete-mail-cleanup): New function.
1266 (bbdb-complete-mail): Use it. In particular, clean up also when
1267 using *Completions* buffer.
1269 2012-08-11 Roland Winkler <winkler@gnu.org>
1270 Remove electric mode that was not providing any new functionality
1271 to BBDB. Also see GNU Emacs Bug#11983.
1273 * lisp/bbdb.el (bbdb-electric, bbdb-inside-electric-display)
1274 (bbdb-quit-window, bbdb-electric-display-records)
1275 (bbdb-electric-throw, bbdb-quit-window)
1276 (bbdb-display-records-internal): Remove.
1277 (bbdb-display-records): Remove arg electric. Merge with
1278 bbdb-display-records-internal.
1279 (bbdb-redisplay-records): Use bbdb-display-records.
1281 * lisp/bbdb-com.el (bbdb-mail, bbdb-mail-address, bbdb-info):
1283 (bbdb-mail-abbrev-expand-hook): Use bbdb-display-records.
1285 * lisp/bbdb-mua.el (bbdb-mua-display-records)
1286 (bbdb-mua-auto-update): Use bbdb-display-records.
1288 2012-08-09 Roland Winkler <winkler@gnu.org>
1289 Remove message cache that was broken. There were two problems
1290 with it. The cache did not distinguish between records associated
1291 with the senders and recipients. So if a call of
1292 bbdb-mua-display-sender was followed by, say, a call of
1293 bbdb-mua-display-recipients the second call also returned the
1294 senders. Second, the cache used assq to identify message keys to
1295 operate fast. Yet most MUAs only provide strings as message keys.
1297 * lisp/bbdb.el (bbdb-message-all-addresses)
1298 (bbdb-notice-mail-hook, bbdb-notice-record-hook): Fix docstring.
1299 (bbdb-message-caching, bbdb-message-cache): Remove.
1300 (bbdb-buffer): Remove cache flushing.
1302 * lisp/bbdb-mua.el (bbdb-update-records): Remove arg msg-key.
1303 Remove caching of records.
1304 (bbdb-message-get-cache, bbdb-message-set-cache)
1305 (bbdb-message-rem-cache): Remove.
1306 (bbdb-mua-update-records): Remove arg msg-key from calls of
1307 bbdb-update-records.
1309 2012-08-07 Roland Winkler <winkler@gnu.org>
1310 * lisp/bbdb-com.el (bbdb-complete-mail): Use quit-window instead
1311 of current-window-configuration and set-window-configuration.
1312 * lisp/bbdb.el (bbdb-complete-mail-saved-window-config): Remove.
1314 2012-08-06 Roland Winkler <winkler@gnu.org>
1315 * lisp/bbdb-com.el (bbdb-complete-mail): Revert 2012-07-06 change.
1317 2012-08-05 Roland Winkler <winkler@gnu.org>
1318 * lisp/bbdb-mua.el (bbdb-annotate-message): Simplify.
1320 2012-08-05 Roland Winkler <winkler@gnu.org>
1321 * lisp/bbdb.el (bbdb-suppress-changed-records-recording): Remove.
1322 (bbdb-puthash, bbdb-gethash, bbdb-remhash): Ignore keys that are
1323 empty strings or nil.
1324 (bbdb-hash-record): Explicitly hash name.
1325 (bbdb-change-record, bbdb-delete-record-internal)
1326 (bbdb-insert-record-internal, bbdb-overwrite-record-internal):
1327 Operate on hash table and bbdb-changed-records list only when
1330 * lisp/bbdb-com.el (bbdb-delete-records): Remove record from hash
1332 (bbdb-merge-records): Do not add new-record to the list of changed
1333 records, which is done already by bbdb-change-record.
1335 2012-08-05 Roland Winkler <winkler@gnu.org>
1336 * lisp/bbdb-com.el (bbdb-complete-mail): Do not call quit-window.
1337 Instead, rely on set-window-configuration that it does what we
1340 2012-08-01 Roland Winkler <winkler@gnu.org>
1341 * lisp/bbdb-com.el (bbdb-merge-records): Improve interactive call
1344 2012-08-01 Roland Winkler <winkler@gnu.org>
1345 * lisp/bbdb.el (bbdb-allow-duplicates, bbdb-hash-update)
1346 (bbdb-record-set-field): Fix docstring.
1347 * lisp/bbdb-com.el (bbdb-merge-records): Do not through an error
1348 when merging the old and new record results in duplicate AKAs and
1351 2012-07-31 Roland Winkler <winkler@gnu.org>
1352 * lisp/bbdb-com.el (bbdb-complete-mail): When a single record
1353 matches, analyze more carefully which mail address to use. Cycle
1354 even if the record contains only one mail address, yet
1355 bbdb-dwim-mail gives us something different from what we have.
1356 Search correctly for RFC 822 addresses containing a full name.
1358 2012-07-20 Roland Winkler <winkler@gnu.org>
1359 * lisp/bbdb-mua.el (bbdb-annotate-message): Simplify. Create new
1360 record if update-p has not value update.
1362 2012-07-20 Roland Winkler <winkler@gnu.org>
1363 * lisp/bbdb.el (bbdb-gethash): Allow value of t for arg predicate.
1365 2012-07-20 Sam Steingold <sds@gnu.org>
1366 * lisp/bbdb-com.el (bbdb-message-search): Allow args name or mail
1369 2012-07-19 Roland Winkler <winkler@gnu.org>
1370 * lisp/bbdb.el: Simplify previous patch.
1371 (bbdb-electric-execute, bbdb-electric-quit, bbdb-electric-quit):
1373 (bbdb-display-records): Simplify.
1374 (bbdb-electric-display-records): Fix docstring. Simplify. Remove
1375 optional args select and horiz-p that interfere with
1376 Electric-pop-up-window.
1378 2012-07-18 Roland Winkler <winkler@gnu.org>
1379 * lisp/bbdb.el (bbdb-electric-display-records): Fix previous
1382 2012-07-18 Roland Winkler <winkler@gnu.org>
1383 * lisp/bbdb.el: Autoload bbdb-search and bbdb-search-prompt.
1384 (bbdb-display-records): Make records a required arg. Do not
1385 redefine keys. Pass optional args to
1386 bbdb-electric-display-records.
1387 (bbdb-electric-display-records): New optional args layout, append,
1388 select, and horiz-p. Make it a command. Redefine SPC key
1389 temporarily. Simplify.
1391 2012-07-17 Roland Winkler <winkler@gnu.org>
1392 * lisp/bbdb.el (bbdb-mua-update-interactive-p)
1393 (bbdb-mua-auto-update-p, bbdb-update-records-p): Update docstring.
1394 (bbdb-canonicalize-mail-function): Update docstring.
1395 (bbdb-message-caching): Use default nil till caching is fixed.
1396 (bbdb-cache-deleted-p, bbdb-cache-set-deleted-p)
1397 (bbdb-record-deleted-p, bbdb-record-set-deleted-p): Removed.
1398 (bbdb-display-name-organization): Use memq.
1400 * lisp/bbdb-mua.el (bbdb-mua, bbdb-message-header): Use memq.
1401 (bbdb-get-address-components): Allow mail to be nil. Use
1403 (bbdb-update-records): New value update for arg update-p. Use
1405 (bbdb-message-get-cache): Simplify.
1406 (bbdb-message-set-cache): Remove old value from cache.
1407 (bbdb-annotate-message): New value update for arg update-p.
1408 Operate on all records found by bbdb-message-search. Return list
1409 of records. Use member-ignore-case.
1410 (bbdb-mua-update-records): Use memq.
1411 (bbdb-auto-notes): Use member-ignore-case and assoc-string.
1413 * lisp/bbdb-com.el (bbdb-read-name, bbdb-insert-field): Use memq.
1414 (bbdb-complete-mail): Use member-ignore-case.
1416 * lisp/bbdb-message.el (bbdb/message-update-records-p)
1417 * lisp/bbdb-rmail.el (bbdb/rmail-update-records-p)
1418 * lisp/bbdb-mhe.el (bbdb/mh-update-records-p)
1419 * lisp/bbdb-gnus.el (bbdb/gnus-update-records-p)
1420 * lisp/bbdb-vm.el (bbdb/vm-update-records-p): Update
1423 * lisp/bbdb-print.el (bbdb-print-record): Do not use
1424 bbdb-record-deleted-p.
1426 * README: Update usage of update-p.
1428 2012-07-12 Roland Winkler <winkler@gnu.org>
1429 * lisp/bbdb-mua.el (bbdb-get-address-components)
1430 (bbdb-message-get-cache, bbdb-message-set-cache)
1431 (bbdb-message-rem-cache, bbdb-mua-annotate-sender)
1432 (bbdb-mua-annotate-recipients, bbdb-mua-edit-field)
1433 (bbdb-canonical-hosts, bbdb-canonicalize-mail-1)
1434 (bbdb-mail-redundant-p, bbdb-delete-redundant-mails)
1435 (bbdb-message-clean-name-default): Fix docstring.
1437 2012-07-09 Roland Winkler <winkler@gnu.org>
1438 * lisp/bbdb-mua.el (bbdb-mua-annotate-sender)
1439 (bbdb-mua-annotate-recipients, bbdb-mua-edit-field)
1440 (bbdb-mua-edit-field-sender, bbdb-mua-edit-field-recipients): New arg
1442 (bbdb-mua-edit-field-interactive): Handle arg update-p.
1444 2012-07-08 Roland Winkler <winkler@gnu.org>
1445 * lisp/bbdb-mua.el (bbdb-update-records): Fix previous patch.
1447 2012-07-08 Roland Winkler <winkler@gnu.org>
1448 * lisp/bbdb-mua.el (bbdb-update-records): Make records a list
1449 ordered like address-list.
1451 2012-07-06 Roland Winkler <winkler@gnu.org>
1452 * lisp/bbdb-com.el (bbdb-complete-mail): Use window-live-p.
1454 2012-07-06 Roland Winkler <winkler@gnu.org>
1455 * lisp/bbdb-mua.el (bbdb-mua-edit-field): Revert previous change.
1456 Do not use hard-coded bindings for user variables.
1458 2012-07-06 Sam Steingold <sds@gnu.org>
1459 * lisp/bbdb-com.el (bbdb-complete-mail): Use `quit-window' instead
1460 of `bury-buffer' to get rid of *Completions*.
1462 2012-07-06 Sam Steingold <sds@gnu.org>
1463 * lisp/bbdb-mua.el (bbdb-mua-edit-field): Edit THE record for THE
1464 sender, not all the relevant records.
1466 2012-07-03 Roland Winkler <winkler@gnu.org>
1467 * lisp/bbdb.el (bbdb-record-name, bbdb-record-name-lf): Fix
1469 * lisp/bbdb-com.el (bbdb-search): Also search last_first names.
1471 (bbdb-message-search): Fix docstring.
1473 2012-07-01 Sam Steingold <sds@gnu.org>
1474 * lisp/bbdb-mua.el (bbdb-get-address-components): name may be nil.
1476 2012-07-01 Sam Steingold <sds@gnu.org>
1477 * .gitignore: ignore Makefiles and configure files;
1478 bbdb-autoloads.el -> bbdb-loaddefs.el.
1480 2012-06-24 Sam Steingold <sds@gnu.org>
1481 * lisp/bbdb-mua.el (bbdb-update-records): Use bbdb-message-search
1482 instead of bbdb-search when `update-p' is `search' so that all
1483 senders are displayed.
1484 * lisp/bbdb-mua.el (bbdb-annotate-message): Do not offer to
1485 replace the name if it is already an AKA.
1487 * lisp/bbdb.el (bbdb-label-completion-list): Use symbol-value
1488 instead of eval for symbols.
1489 * lisp/bbdb-mua.el (bbdb-update-records): Ditto.
1491 2012-06-24 Philip Hudson <phil.hudson@iname.com>
1492 * lisp/bbdb.el (bbdb-read-only, bbdb-initialize-hook)
1493 (bbdb-mode-hook, bbdb-layout-alist, bbdb-case-fold-search)
1494 (bbdb-message-caching, bbdb-complete-mail-allow-cycling)
1495 (bbdb-after-save-hook, bbdb-completion-display-record)
1496 (bbdb-update-records-address, bbdb-warn, bbdb-split, bbdb-concat)
1497 (bbdb-read-string, bbdb-current-record, bbdb-debug)
1498 (bbdb-timestamp, bbdb-creation-date, bbdb-gethash)
1499 (bbdb-hash-record, bbdb-record-name, bbdb-record-name-lf)
1500 (bbdb-record-sortkey, bbdb-record-set-sortkey, bbdb-record-marker)
1501 (bbdb-record-set-marker, bbdb-record-deleted-p)
1502 (bbdb-record-set-deleted-p, bbdb-merge-concat)
1503 (bbdb-merge-string-least, bbdb-merge-string-most)
1504 (bbdb-phone-string, bbdb-error-retry, bbdb-display-list)
1505 (bbdb-display-record-one-line, bbdb-display-record-multi-line)
1506 (bbdb-display-records, bbdb-display-records-internal)
1507 (bbdb-redisplay-record, bbdb-pop-up-window)
1508 (bbdb-electric-display-records, bbdb-electric-throw)
1509 (bbdb-electric-quit, bbdb-quit-window, bbdb-mouse-menu, bbdb-save)
1510 (bbdb-offer-to-create bbdb-lastname-suffixes)
1511 (bbdb-update-records-p, bbdb-new-mails-always-primary): Fix
1513 (bbdb-mail-user-agent): Untabify.
1515 2012-06-24 Roland Winkler <winkler@gnu.org>
1516 Update copyright notices.
1518 * lisp/bbdb.el (bbdb-allow-duplicates): Rename from
1519 bbdb-no-duplicates to match the unchanged docstring of this
1521 (bbdb-record-Notes): Rename from bbdb-record-notes to avoid name
1523 (bbdb-puthash): Do not hash empty strings.
1524 (bbdb-gethash): New arg predicate.
1525 (bbdb-check-name): New function.
1526 (bbdb-record-set-name): For args first and last allow new value t.
1527 Use bbdb-check-name.
1528 (bbdb-record-name, bbdb-record-name-lf): Use it.
1529 (bbdb-record-set-field): Use it. Simplify.
1530 (bbdb-label-completion-default, bbdb-data-completion-list)
1531 (bbdb-data-completion-default): Remove unused function.
1532 (bbdb-buffer): Handle here that bbdb-file might have changed on
1533 disk and auto-save file could be newer than bbdb-file instead of
1534 bbdb-records doing this.
1535 (bbdb-revert-buffer): Fix docstring. Use prefix arg as in
1536 revert-buffer. Use variable bbdb-buffer instead of function
1537 bbdb-buffer to avoid recursion.
1538 (bbdb-parse-records): Rename from bbdb-parse-internal. Add
1539 docstring. Do not polute buffer-undo-list when reading bbdb-file.
1540 Use unwind-protect. Merge with bbdb-parse-frobnicate. Handle
1541 bbdb-allow-duplicates properly.
1542 (bbdb-with-db-buffer): Add docstring.
1543 (bbdb-display-record-one-line, bbdb-display-record-multi-line):
1545 (bbdb-pop-up-window): Fix docstring.
1546 (bbdb-sendmail-menu): Add docstring.
1547 (bbdb-electric-quit): Rename from bbdb-electric-done.
1548 (bbdb-electric-display-records): Simplify.
1550 * lisp/bbdb-com.el (bbdb-editable): Fix docstring. Check more
1551 carefully without reverting.
1552 (bbdb-message-search): Use bbdb-buffer.
1553 (bbdb-read-record): Use bbdb-buffer and bbdb-check-name.
1554 (bbdb-create-internal): Fix docstring. Use bbdb-check-name.
1555 (bbdb-edit-field): Merge with bbdb-record-edit-name.
1556 (bbdb-record-edit-name): Remove.
1557 (bbdb-completion-predicate): Bug fix.
1558 (bbdb-complete-mail): Use bbdb-buffer and
1559 bbdb-completion-predicate.
1560 (bbdb-search-duplicates, bbdb-message-search)
1561 (bbdb-create-internal): Use arg predicate of bbdb-gethash.
1563 * lisp/bbdb.el (bbdb-gethash): New arg predicate.
1564 (bbdb-check-name, bbdb-record-set-field, bbdb-parse-records) Use
1566 * lisp/bbdb-com.el (bbdb-search-duplicates, bbdb-message-search)
1567 (bbdb-create-internal): Use it.
1569 * lisp/bbdb-mua.el (bbdb-message-get-cache): Use bbdb-buffer.
1571 * lisp/bbdb.el (bbdb-message-clean-name-function)
1572 (bbdb-message-mail-as-name): New variables.
1573 * lisp/bbdb-mua.el (bbdb-get-address-components)
1574 (bbdb-annotate-message): Use them.
1575 (bbdb-message-clean-name-default): Rename from
1576 bbdb-message-clean-name. Clean names properly, too.
1578 * tex/Makefile.in (install-TeX): Bug fix (Bug#108041).
1580 2012-01-02 Sam Steingold <sds@gnu.org>
1581 * lisp/bbdb.el (bbdb-auto-notes-rules): Use :set keyword to reset
1582 `bbdb-auto-notes-rules-expanded' when `bbdb-auto-notes-rules' is set.
1584 2012-01-02 Roland Winkler <winkler@gnu.org>
1585 * lisp/bbdb-anniv.el (bbdb-anniv-list): Clarify docstring.
1587 2012-01-02 Roland Winkler <winkler@gnu.org>
1588 * lisp/bbdb.el: Do not use custom-loads for bbdb-mua.el and
1589 bbdb-com.el. Use symbols for custom-loads.
1590 (bbdb-utilities-ispell): Group renamed and moved here from
1592 (bbdb-utilities-print): Group renamed from bbdb-print.
1593 (bbdb-utilities-dialing): Group renamed from bbdb-dialing.
1594 * lisp/bbdb-ispell.el, lisp/bbdb-print.el: Updated accordingly.
1596 2011-12-18 Roland Winkler <winkler@gnu.org>
1597 * lisp/bbdb-anniv.el (bbdb-anniv-diary-entries): Remove leading
1598 and trailing whitespace in text properly.
1600 2011-12-18 Roland Winkler <winkler@gnu.org>
1601 * lisp/Makefile.in: Do not create backup file for
1604 2011-12-18 Roland Winkler <winkler@gnu.org>
1605 * lisp/bbdb-anniv.el (bbdb-anniv-alist): New format specification
1607 (bbdb-anniv-diary-entries): Use it. Handle diary's backup forms
1610 2011-12-11 Roland Winkler <winkler@gnu.org>
1611 * INSTALL, Makefile.in, aclocal.m4, configure.ac, install-sh:
1612 * lisp/Makefile.in, doc/Makefil.in, doc/bbdb.texi:
1613 * doc/doclicense.texi, doc/gpl.texi, tex/Makefile.in:
1614 * tex/bbdb-cols.tex, tex/bbdb-print-brief.tex, tex/bbdb-print.tex:
1616 * lisp/makefile-temp: Renamed from lisp/Makefile.
1619 * lisp/bbdb-ispell.el: Header updated. Prefix bbdb-spell replaced
1621 (bbdb-ispell): New custom group.
1622 (bbdb-ispell-dictionary-list): Renamed from bbdb-spell-dictionary.
1623 (bbdb-ispell-field-list): Renamed from bbdb-spell-field.
1624 (bbdb-ispell-export): Merged with bbdb-spell-add-word.
1625 (bbdb-ispell-collect-words): Renamed from
1626 bbdb-spell-export-field. Merged with bbdb-spell-append-word.
1628 2011-12-11 Ivan Kanis <ivan.kanis@googlemail.com>
1629 * lisp/bbdb-ispell.el: New file
1631 2011-11-27 Roland Winkler <winkler@gnu.org>
1634 * lisp/bbdb.el: Revert change from 2011-10-11. Loading
1635 bbdb-autoloads.el is sufficient.
1637 * lisp/Makefile: It no longer supports VM by default, but you need
1640 2011-11-27 Leo <sdl.web@gmail.com>
1641 * lisp/bbdb.el (bbdb-image-suffixes): Fix typo.
1643 2011-11-20 Roland Winkler <winkler@gnu.org>
1646 * lisp/bbdb.el (bbdb-message-try-all-headers)
1647 (bbdb-user-mail-address-re): Clarify doc string.
1648 (bbdb-defstruct): Do not update bbdb-mail-aliases-need-rebuilt.
1649 (bbdb-record-set-note): Update bbdb-mail-aliases-need-rebuilt.
1650 (bbdb-record-set-name): Update name in cache and hash.
1651 (bbdb-record-unset-name): Removed (obsolete).
1652 (bbdb-hash-update): New function.
1653 (bbdb-record-set-field): Use it.
1654 (bbdb-records): Initiate variable bbdb-records.
1655 (bbdb-parse-internal): Use bbdb-goto-first-record.
1656 (bbdb-goto-first-record): Move backward only if we found a first
1659 * lisp/bbdb-com.el (bbdb-insert-field)
1660 (bbdb-delete-field-or-record): Use bbdb-record-set-field.
1661 (bbdb-edit-field): New optional arg value. Handle affix,
1662 organization, mail, aka, and note fields directly.
1663 (bbdb-record-edit-affix, bbdb-record-edit-organziation)
1664 (bbdb-record-edit-mail, bbdb-record-edit-aka)
1665 (bbdb-record-edit-note): Removed.
1667 * lisp/bbdb.el (bbdb-mail-avoid-redundancy) Renamed from
1668 bbdb-mail-allow-redundancy.
1669 * lisp/bbdb-com.el (bbdb-dwim-mail): Update it accordingly.
1671 * lisp/bbdb.el (bbdb-update-records-p): Change default to less
1673 (bbdb-mua-auto-update-p): New variable
1674 * lisp/bbdb-mua.el (bbdb-mua-auto-update): Use it.
1675 (bbdb-update-records): Resolve arg update-p up to two times.
1676 * lisp/bbdb-message.el (bbdb/message-update-records-p)
1677 * lisp/bbdb-rmail.el (bbdb/rmail-update-records-p)
1678 * lisp/bbdb-gnus.el (bbdb/gnus-update-records-p)
1679 * lisp/bbdb-mhe.el (bbdb/mh-update-records-p)
1680 * lisp/bbdb-vm.el (bbdb/vm-update-records-p): Doc fix.
1682 * lisp/bbdb-mua.el (bbdb-annotate-record): Convert annotation into
1683 list if field is affix, organization, mail or aka.
1684 (bbdb-mua-edit-field-interactive): New function.
1685 (bbdb-mua-edit-field): New command.
1686 (bbdb-mua-edit-field-sender, bbdb-mua-edit-field-recipients): Use
1689 * lisp/bbdb.el (bbdb-image, bbdb-image-path, bbdb-image-suffixes):
1691 (bbdb-display-name-organization): Use them to display images for
1692 BBDB records. Suggested by Ivan Kanis <apple@kanis.fr>.
1694 * lisp/bbdb-migrate.el (bbdb-undocumented-variables): New command.
1696 2011-10-11 Teodor Zlatanov <tzz@lifelogs.com>
1698 * lisp/bbdb.el: Autoload `bbdb-insinuate-gnus' from bbdb-gnus.el
1699 so `bbdb-initialize' won't throw an error when passed 'gnus.
1700 Ditto 'message, 'rmail, 'vm, and 'mh-e.
1702 2011-10-10 Roland Winkler <winkler@gnu.org>
1703 * lisp/bbdb.el (bbdb-name-format, bbdb-read-name-format)
1704 (bbdb-name-face-alist): New user variables.
1705 (bbdb-record-name-lf): New function.
1706 (bbdb-display-name-organization): Use bbdb-name-format for
1707 customizable display of name. Use note field name-face for
1708 customizable font-locking of name of a record.
1709 (bbdb-layout-list): Omit name-format and name-face
1710 for multi-line and pop-up-multi-line format.
1711 (bbdb-separator-alist): New default values for name-first-last and
1713 (bbdb-record-set-name): Use them.
1714 * lisp/bbdb-com.el (bbdb-read-name): New function.
1715 (bbdb-read-record, bbdb-record-edit-name): Use it. New optional
1718 * lisp/bbdb.el: (bbdb-merge-notes-function): Removed (obsolete).
1719 (bbdb-record-type): New internal variable.
1720 (bbdb-check-type): Moved here from lisp/bbdb-com.el. Use the
1721 pseudo-code of bbdb-record-type.
1722 (bbdb-record-get-field, bbdb-merge-concat)
1723 (bbdb-merge-concat-remove-duplicates, bbdb-merge-string-least)
1724 (bbdb-merge-string-most, bbdb-merge-lists, bbdb-divide-name)
1725 (bbdb-parse-postcode): Moved here from lisp/bbdb-com.el.
1726 (bbdb-merge-note): Rewrite.
1727 (bbdb-record-set-field): Moved here from lisp/bbdb-com.el. New
1728 optional args check and merge.
1729 (bbdb-record-note-intern): New function.
1730 (bbdb-record-set-note): Throw error if the name of a note field
1731 equals the name of any other record field.
1732 (bbdb-parse-frobnicate): Include all note fields in
1733 bbdb-notes-label-list.
1734 * lisp/bbdb-com.el (bbdb-create-internal): Use bbdb-check-type.
1735 (bbdb-merge-records-internal): Removed (merged with
1736 bbdb-merge-records).
1737 (bbdb-merge-records): Use bbdb-record-set-field.
1738 * lisp/bbdb-mua.el (bbdb-annotate-record): Renamed from
1739 bbdb-annotate-note. Use bbdb-record-set-field.
1741 * lisp/bbdb.el (bbdb-initialize): Do not require bbdb-autoloads.
1743 * lisp/bbdb.el (bbdb-phone-string): Fix error message.
1745 * lisp/bbdb.el (bbdb-error-retry): Use progn.
1747 * lisp/bbdb.el (bbdb-message-try-all-headers): New user variable.
1748 * lisp/bbdb-mua.el (bbdb-get-address-components): Use it.
1750 * lisp/bbdb-print.el (bbdb-print): Do not use \catcode.
1752 2011-09-22 Leo <sdl.web@gmail.com>
1753 * lisp/bbdb.el (bbdb-pop-up-window): Remove Gnus-specific code
1754 which is not required anymore by recent versions of Gnus.
1756 2011-09-21 Leo <sdl.web@gmail.com>
1757 * lisp/bbdb-com.el (bbdb-browse-url): Fix usage of prefix arg.
1759 2011-09-19 Leo <sdl.web@gmail.com>
1760 * lisp/bbdb-com.el (bbdb-add-mail-alias): Fix completion list used
1761 in interactive calls for deleting an alias.
1763 2011-09-19 Roland Winkler <winkler@gnu.org>
1764 * lisp/bbdb.el (bbdb-mode-map): Use / as search prefix.
1766 2011-09-19 Abhi Yerra <abhi@berkeley.edu>
1767 * lisp/bbdb.el (bbdb-dial-function): New variable.
1768 (bbdb-sound-player, bbdb-sound-files, bbdb-modem-dial)
1769 (bbdb-modem-device, bbdb-sound-volume): Removed (obsolete).
1771 * lisp/bbdb-com.el (bbdb-dial-number): Use browse-url and
1773 (bbdb-play-sound): Removed (obsolete)
1775 2011-09-19 Roland Winkler <winkler@gnu.org>
1776 * lisp/bbdb-com.el (bbdb-dial): First remove extension. Simplify.
1778 2011-09-19 Roland Winkler <winkler@gnu.org>
1779 * lisp/bbdb.el (bbdb-version): Do not use interactive-p.
1781 * lisp/bbdb-message.el: Require sendmail for mail-mode-map.
1783 * lisp/bbdb-anniv.el (number): Use with-no-warnings.
1785 * lisp/bbdb-com.el (bbdb-divide-name): Fix regexp for matching
1788 2011-05-11 Roland Winkler <winkler@gnu.org>
1789 * lisp/bbdb-mua.el (bbdb-update-records): Fix previous patch.
1790 (bbdb-prompt-for-create): Use special-mode.
1792 2011-05-11 Roland Winkler <winkler@gnu.org>
1793 * lisp/bbdb.el (bbdb-notice-mail-hook): Rename from
1795 (bbdb-notice-record-hook): New variable.
1796 (bbdb-notice-hook-pending): Update doc string.
1798 * lisp/bbdb-mua.el (bbdb-update-records): Call
1799 bbdb-notice-record-hook.
1800 (bbdb-annotate-message): Use bbdb-notice-mail-hook.
1802 * lisb/bbdb-vm.el (bbdb/vm-auto-add-label): Update doc string.
1804 2011-05-08 Roland Winkler <winkler@gnu.org>
1805 * lisp/bbdb-com.el (bbdb-display-all-records): Use redisplay. Why
1808 2011-05-08 Leo <sdl.web@gmail.com>
1809 * lisp/bbdb-com.el (bbdb-merge-records-internal): Fix typo
1811 2011-05-08 Leo <sdl.web@gmail.com>
1812 * lisp/bbdb-mua.el (bbdb-auto-notes): Fix typo
1814 2011-05-07 Roland Winkler <winkler@gnu.org>
1815 * lisp/bbdb-com.el (bbdb-display-current-record): New command.
1816 (bbdb-display-all-records): Improve docstring.
1818 * lisp/bbdb.el (bbdb-mode-map): Key bindings for
1819 bbdb-display-all-records and bbdb-display-current-record.
1821 2011-04-29 Barak A. Pearlmutter <barak@cs.nuim.ie>
1822 * lisp/bbdb.el (bbdb-init-forms): Fix typo.
1823 (bbdb-parse-internal): Clarify error message.
1825 2011-04-29 Barak A. Pearlmutter <barak@cs.nuim.ie>
1826 * lisp/bbdb-migrate.el (bbdb-peel-the-onion): New function.
1827 (bbdb-migrate): Use it for cleaning up corrupted BBDB files.
1829 2011-04-29 Barak A. Pearlmutter <barak@cs.nuim.ie>
1830 * lisp/Makefile: Use option --batch. New target TAGS.
1832 2011-04-29 Roland Winkler <winkler@gnu.org>
1833 * lisp/bbdb.el, lisp/bbdb-com.el, lisp/bbdb-migrate.el,
1834 lisp/bbdb-print.el: Rename degree field to affix.
1836 2011-04-29 Roland Winkler <winkler@gnu.org>
1837 * lisp/bbdb.el (bbdb-display-name-organization): Include name in
1839 (bbdb-scan-property): New function.
1840 (bbdb-next-record, bbdb-prev-record): Use it.
1841 (bbdb-next-field, bbdb-prev-field): New commands bound to "N" and
1844 2011-04-23 Roland Winkler <winkler@gnu.org>
1845 * lisp/bbdb.el (bbdb-pop-up-window): Rename from
1847 * lisp/bbdb.el (bbdb-display-records-internal)
1848 * lisp/bbdb-com.el (bbdb-complete-mail): Use new name.
1850 2011-04-23 Leo <sdl.web@gmail.com>
1851 * lisp/bbdb.el (bbdb-pop-up-buffer): Distinguish 1 and 1.0 in
1852 bbdb-pop-up-window-size.
1854 2011-04-23 Roland Winkler <winkler@gnu.org>
1855 * lisp/bbdb-message.el (bbdb-insinuate-message)
1856 (bbdb-insinuate-mail)
1857 * lisp/bbdb-rmail.el (bbdb-insinuate-rmail)
1858 * lisp/bbdb-gnus.el (bbdb-insinuate-gnus)
1859 * lisp/bbdb-mhe.el (bbdb-insinuate-mh)
1860 * lisp/bbdb-vm.el (bbdb-insinuate-vm): Fix docstring.
1862 2011-04-23 Roland Winkler <winkler@gnu.org>
1863 * lisp/bbdb.el (bbdb-mode-map): Do no call set-keymap-parent which
1864 is done already by define-derived-mode. Reported by Sam Steingold
1865 <sds@gnu.org>. Add menu binding for revert-buffer.
1867 2011-04-16 Roland Winkler <winkler@gnu.org>
1868 * lisp/bbdb.el (bbdb-create-hook, bbdb-change-hook): Use defvar.
1870 2011-04-16 Roland Winkler <winkler@gnu.org>
1871 * lisp/bbdb.el (bbdb-time-stamp-format): Includes timezone info.
1873 2011-04-16 Roland Winkler <winkler@gnu.org>
1876 2011-04-16 Roland Winkler <winkler@gnu.org>
1877 * lisp/bbdb.el (bbdb-faces): Group of faces used by BBDB.
1878 (bbdb-name, bbdb-organization, bbdb-field-name): New faces.
1879 (bbdb-display-name-organization, bbdb-display-record-one-line)
1880 (bbdb-display-record-multi-line): Use them.
1882 2011-04-16 Roland Winkler <winkler@gnu.org>
1883 * lisp/bbdb.el (bbdb-mode-map): Inherit from special-mode-map.
1884 (bbdb-quit-window): Renamed from bbdb-bury-buffer. Use
1886 (bbdb-mode): Use define-derived-mode.
1888 2011-04-16 Roland Winkler <winkler@gnu.org>
1889 * lisp/bbdb.el (bbdb-indent-string): New function.
1890 (bbdb-display-record-multi-line): Use it. (Bug#33101)
1892 2011-04-16 Roland Winkler <winkler@gnu.org>
1893 * lisp/bbdb-com.el: Autoload browse-url-url-at-point.
1895 2011-04-16 Roland Winkler <winkler@gnu.org>
1896 * lisp/bbdb.el (bbdb-create-hook, bbdb-change-hook): Call
1897 add-hook for the default hook functions.
1899 2011-04-11 Roland Winkler <winkler@gnu.org>
1900 * lisp/bbdb-com.el (bbdb-complete-mail): Ensure initialization of
1903 2011-04-10 Roland Winkler <winkler@gnu.org>
1904 * lisp/bbdb.el (bbdb-utilities-anniv): New customization group.
1905 (bbdb-create-hook, bbdb-change-hook)
1906 (bbdb-after-change-hook, bbdb-notice-hook)
1907 (bbdb-default-separator): Improve doc string.
1908 (bbdb-separator-alist): Improve doc string. Include entries for
1910 (bbdb-records): Use make-variable-buffer-local.
1911 (bbdb-current-field): Do not remove field-name.
1912 (bbdb-record-note): Simplified.
1913 (bbdb-record-note-n): Removed.
1914 (bbdb-record-note-split): New function.
1915 (bbdb-record-set-note): Improved documentation.
1916 (bbdb-format-note, bbdb-record-format-note): New function.
1917 (bbdb-display-text): Renamed from bbdb-format-text.
1918 (bbdb-display-list): Renamed from bbdb-format-list.
1919 (bbdb-display-name-organization): Renamed from
1920 bbdb-format-name-organization.
1921 (bbdb-display-record-one-line): Renamed from
1922 bbdb-format-record-one-line. Unify text properties.
1923 (bbdb-display-record-multi-line): Renamed from
1924 bbdb-format-record-multi-line. Unify text properties.
1925 (bbdb-display-record-full-multi-line): Renamed from
1926 bbdb-format-record-full-multi-line.
1927 (bbdb-display-record-pop-up-multi-line): Renamed from
1928 bbdb-format-record-pop-up-multi-line.
1929 (bbdb-display-record): Renamed from bbdb-format-record.
1930 (bbdb-parse-internal, bbdb-parse-frobnicate): Simplified search
1932 (bbdb-delete-record-internal, bbdb-overwrite-record-internal):
1935 * lisp/bbdb-com.el (bbdb-editable): Throw error if *BBDB* buffer
1936 is out of sync with database.
1937 (bbdb-search): Use suffix -re for all args that are regular
1939 (bbdb-delete-duplicate-mails, bbdb-sort-addresses)
1940 (bbdb-sort-phones, bbdb-sort-notes): New optional arg update.
1941 (bbdb-record-edit-note): Renamed from bbdb-record-edit-notes.
1942 (bbdb-list-transpose, bbdb-ident-point): New functions.
1943 (bbdb-transpose-fields): Use them. Make code more robust such
1944 that it can be applied to any subfields of the same type.
1945 (bbdb-field-equal, bbdb-next-field): Removed (obsolete).
1946 (bbdb-mail-aliases, bbdb-get-mail-aliases, bbdb-add-mail-alias)
1947 (bbdb-browse-url): Use bbdb-record-note-split.
1949 * lisp/bbdb-mua.el (bbdb-mua-wrapper): Do not use
1950 rmail-select-summary.
1951 (bbdb-mua-auto-update): Bug fix.
1953 * lisp/bbdb-rmail.el (bbdb-insinuate-rmail)
1954 * lisp/bbdb-mhe.el (bbdb-insinuate-mh): Bind to
1955 bbdb-mua-edit-notes-sender.
1957 * lisp/bbdb-vm.el (bbdb/vm-auto-folder, bbdb/vm-virtual-folder)
1958 (bbdb/vm-auto-add-label): Use bbdb-record-note-split.
1960 * lisp/bbdb-print.el (bbdb-print-omit-fields): Remove `omit'.
1962 * lisp/bbdb-anniv.el: New file.
1964 * lisp/Makefile: Honor lisp/bbdb-anniv.el.
1966 2011-03-05 Roland Winkler <winkler@gnu.org>
1967 * lisp/bbdb.el (bbdb-modeline-info): New variable.
1968 (bbdb-mode): Use it.
1969 (bbdb-mode-map): Unify keybindings for search commands.
1970 (bbdb-sort-records): Update marker positions correctly.
1972 * lisp/bbdb-com.el (bbdb-append-display-p, bbdb-append-display)
1973 (bbdb-search-invert-p, bbdb-search-invert): Use
1975 (bbdb-search): Also search for addresses. Simplify codde.
1976 (bbdb-search-address): New command.
1977 (bbdb-search-phone): Fix prompt.
1979 * lisp/bbdb-mua.el (bbdb-mua-wrapper): Simplify code.
1980 (bbdb-mua-auto-update-init): Doc fix.
1982 * lisp/bbdb-message.el (bbdb/message-update-records-p)
1983 * lisp/bbdb-rmail.el (bbdb/rmail-update-records-p)
1984 * lisp/bbdb-gnus.el (bbdb/gnus-update-records-p)
1985 * lisp/bbdb-mhe.el (bbdb/mh-update-records-p)
1986 * lisp/bbdb-vm.el (bbdb/vm-update-records-p): Doc fix.
1988 2011-02-27 Roland Winkler <winkler@gnu.org>
1989 * lisp/bbdb.el (bbdb-address-format-list): New variable for
1990 customization of address formatting and editing. (renamed
1991 from bbdb-address-format-alist).
1992 (bbdb-format-address): Use it.
1993 (bbdb-format-record-one-line, bbdb-format-record-multi-line): Use
1994 bbdb-format-address.
1995 (bbdb-address-edit-function, bbdb-format-streets)
1996 (bbdb-format-address-continental): Removed. Obsolete because of
1997 bbdb-address-format-list.
1998 (bbdb-format-record): Use funcall instead of eval.
1999 (bbdb-continental-postcode-regexp): Renamed from
2000 bbdb-continental-zip-regexp.
2001 (bbdb-check-postcode): Renamed from bbdb-check-zip.
2002 (bbdb-legal-postcodes): Renamed from bbdb-legal-zip-codes.
2003 (bbdb-expand-mail-aliases): Removed.
2004 (bbdb-notes-label-list): Renamed from bbdb-notes-names.
2005 (bbdb-parse-frobnicate): Calculate value of bbdb-notes-label-list
2006 instead of reading it. Use memq instead of member.
2007 (bbdb-set-notes-labels): Renamed from bbdb-set-notes-names. Do not
2008 write value of bbdb-notes-label-list.
2009 (bbdb-set-eq): Removed (obsolete).
2010 (bbdb-defstruct): Use defsubst.
2011 (bbdb-record-unset-name): Clarify code.
2012 (bbdb-initialize): Doc fix.
2014 * lisp/bbdb-com.el (bbdb-message-search): Use name only if mail
2015 address does not match.
2016 (bbdb-parse-postcode): Renamed from bbdb-parse-zip.
2017 (bbdb-insert-field): In interactive calls ignore fields that are
2019 (bbdb-record-edit-phone): Convert format of phone number if old
2020 and new format are different.
2021 (bbdb-edit-field): Use new bbdb-record-edit-phone.
2022 (bbdb-record-edit-address): Use bbdb-address-format-list.
2023 (bbdb-edit-address-street): Renamed from
2024 bbdb-address-edit-street. Take arg street instead of address.
2025 (bbdb-edit-address-default): Renamed from
2026 bbdb-address-edit-default.
2027 (bbdb-address-edit-continental): Removed (obsolete).
2028 (bbdb-complete-mail-cleanup): Removed. Code merged with
2030 (bbdb-complete-mail): Return non-nil if valid completion
2031 exists. Simplify code.
2033 * lisp/bbdb-mua.el (bbdb-annotate-message): Use bbdb-string=.
2034 (bbdb-mua-wrapper): Also handle mail and message mode.
2035 (bbdb-mua-auto-update): Renamed from bbdb-mua-pop-up-bbdb-buffer.
2036 Perform auto update even if bbdb-message-pop-up is nil.
2037 (bbdb-mua-auto-update-init): Renamed from
2038 bbdb-mua-pop-up-init. Doc fix. Use memq instead of member.
2039 (bbdb-force-record-create): Removed (obsolete).
2041 * lisp/bbdb-migrate.el (bbdb-migrate-postcodes-to-strings):
2042 Renamed from bbdb-migrate-zip-codes-to-strings.
2044 * lisp/bbdb-print.el (bbdb-print-tex-quote-alist): Fix regexp.
2045 (bbdb-print-address-format-list): Renamed from
2046 bbdb-print-address-format-alist. Use bbdb-address-format-list as
2048 (bbdb-print): Use bbdb-format-address.
2049 (bbdb-print-address-continental): Removed.
2051 2011-01-17 Roland Winkler <winkler@gnu.org>
2052 * lisp/Makefile: Do not attempt to add empty line to
2055 2011-01-16 Roland Winkler <winkler@gnu.org>
2058 * lisp/Makefile: In bbdb-autloads.el, add BBDB lisp directory to
2061 * lisp/bbdb.el (bbdb-pop-up-buffer): Use condition-case, in case
2063 (bbdb-records, bbdb-mode, bbdb-version, bbdb-initialize): Add
2066 2011-01-15 Roland Winkler <winkler@gnu.org>
2067 * lisp/bbdb-mua.el (bbdb-mua-update-records): For Gnus use
2068 gnus-article-buffer.
2069 (bbdb-mua-wrapper): New macro.
2070 (bbdb-mua-display-records, bbdb-mua-annotate-sender)
2071 (bbdb-mua-annotate-recipients, bbdb-mua-edit-notes-sender)
2072 (bbdb-mua-edit-notes-recipients): Use it.
2073 (bbdb-mua-update-mua): Removed (obsolete because of
2076 * lisp/bbdb-gnus.el (bbdb-insinuate-gnus): Code doc updated.
2078 * lisp/bbdb-com.el (bbdb-complete-name): Obsolete alias for
2081 2011-01-06 Roland Winkler <winkler@gnu.org>
2082 * lisp/bbdb.el (bbdb-message-headers, bbdb-accept-name-mismatch)
2083 (bbdb-use-alternate-names): Fix docstring.
2084 (bbdb-auto-notes-rules): Renamed from bbdb-auto-notes-alist. New
2086 (bbdb-auto-notes-ignore-messages): Renamed from
2087 bbdb-auto-notes-ignore-all.
2088 (bbdb-auto-notes-ignore-headers): Renamed from
2089 bbdb-auto-notes-ignore.
2090 (bbdb-pop-up-window-size): Fix docstring.
2091 (bbdb-horiz-pop-up-window-size): New variable.
2092 (bbdb-pop-up-buffer): Use it.
2093 (bbdb-auto-notes-rules-expanded): New variable.
2095 * lisp/bbdb-com.el: Use eval-and-compile.
2096 (bbdb-subint): Moved here from lisp/bbdb.el. Simplified.
2097 (bbdb-parse-phone): Return value always includes extension.
2098 (bbdb-read-record): Simplified accordingly.
2099 (bbdb-prompt-for-new-field): Use phone number style as returned
2100 from bbdb-parse-phone.
2102 * lisp/bbdb-mua.el: Use eval-and-compile.
2103 (bbdb-update-records): Avoid name clash with function search in
2105 (bbdb-message-header-re): New function.
2106 (bbdb-accept-message): Use it.
2107 (bbdb-get-address-components): Also return MUA.
2108 (bbdb-annotate-message): Bug fix. Simplify.
2109 (bbdb-mua-pop-up-init): New function.
2110 (bbdb-auto-notes): Complete re-write.
2112 * lisp/bbdb-message.el (bbdb-insinuate-message)
2113 (bbdb-insinuate-mail)
2114 * lisp/bbdb-rmail.el (bbdb-insinuate-rmail)
2115 * lisp/bbdb-gnus.el (bbdb-insinuate-gnus)
2116 * lisp/bbdb-mhe.el (bbdb-insinuate-mh)
2117 * lisp/bbdb-vm.el (bbdb-insinuate-vm): Do not hook in
2118 bbdb-mua-pop-up-bbdb-buffer. (Use instead bbdb-mua-pop-up-init.)
2120 2010-12-15 Roland Winkler <winkler@gnu.org>
2121 * lisp/bbdb.el (bbdb-mua-message): New customization group.
2122 (bbdb-update-records-p): Value may also be a function.
2123 (bbdb-mua-update-interactive-p): New variable.
2124 (bbdb-init-forms): Add message and mail mode support. Sendmail is
2125 deprecated (use mail instead). Remove outdated support for
2126 reportmail, supercite and w3.
2127 (bbdb-initialize): Updated accordingly. Do not test presence of
2128 features (which is not needed).
2129 (bbdb-insinuate-sendmail): Removed (use bbdb-insinuate-mail).
2130 ( bbdb-insinuate-message): Moved to bbdb-message.el.
2132 * lisp/bbdb-com.el (bbdb-mail, bbdb-mail-address): Simplified.
2134 * lisp/bbdb-mua.el (bbdb-mua, bbdb-message-header): New functions.
2135 (bbdb-get-address-components): Use bbdb-message-header.
2137 (bbdb-update-records): New arg msg-key. Handle message cache.
2138 Arg update-p may also be a function.
2139 (bbdb-mua-update-records, bbdb-mua-update-mua)
2140 (bbdb-mua-update-interactive-p, bbdb-mua-pop-up-bbdb-buffer): New
2142 (bbdb-mua-display-records, bbdb-mua-display-sender)
2143 (bbdb-mua-display-recipients, bbdb-mua-annotate-sender)
2144 (bbdb-mua-annotate-recipients, bbdb-mua-edit-notes-sender)
2145 (bbdb-mua-edit-notes-recipients): New commands.
2147 * lisp/bbdb-vm.el (bbdb/vm-header): Remove MIME decoding.
2148 (bbdb/vm-update-records, bbdb/vm-pop-up-bbdb-buffer)
2149 (bbdb/vm-show-records, bbdb/vm-show-sender)
2150 (bbdb/vm-show-recipients, bbdb/vm-annotate-sender)
2151 (bbdb/vm-edit-notes): Obsolete. Use instead generic functions in
2153 (bbdb-insinuate-vm): Use generic commands.
2155 * lisp/bbdb-gnus.el (bbdb/gnus-update-records)
2156 (bbdb/gnus-pop-up-bbdb-buffer, bbdb/gnus-show-records)
2157 (bbdb/gnus-show-sender, bbdb/gnus-show-recipients)
2158 (bbdb/gnus-annotate-sender, bbdb/gnus-edit-notes)
2159 (bbdb/gnus-summary-show-all-recipients): Obsolete. Use instead
2160 generic functions in bbdb-mua.el.
2161 (bbdb-insinuate-gnus): Use generic commands.
2162 (bbdb/gnus-lines-and-from-length): Removed as
2163 gnus-optional-headers appears to be obsolete, too.
2164 (bbdb/gnus-message-marker-field): New variable.
2165 (bbdb-message-marker-field): Declared obsolete.
2166 (bbdb/gnus-summary-get-sender, bbdb/gnus-summary-sender-in-bbdb)
2167 (bbdb/gnus-nnimap-folder-list-from-bbdb): Simplified.
2169 * lisp/bbdb-rmail.el (bbdb/rmail-update-records)
2170 (bbdb/rmail-pop-up-bbdb-buffer, bbdb/rmail-show-records)
2171 (bbdb/rmail-show-sender, bbdb/rmail-show-recipients)
2172 (bbdb/rmail-annotate-sender, bbdb/rmail-edit-notes)
2173 (bbdb/rmail-summary-show-all-recipients): Obsolete. Use instead
2174 generic functions in bbdb-mua.el.
2175 (bbdb-insinuate-rmail): Use generic commands. Remove defadvice
2176 which has become obsolete because header Messge-ID is used for
2179 * lisp/bbdb-mhe.el, lisp/bbdb-message.el: New files.
2181 * lisp/Makefile: Updated to compile also the new files.
2183 2010-11-30 Roland Winkler <winkler@gnu.org>
2184 * lisp/bbdb.el (bbdb-update-records-p): Fix docstring.
2185 (bbdb-message-pop-up): Change default to a less aggressive nil.
2186 (bbdb-format-record-one-line): Remove linebreaks from multi-line
2189 * lisp/bbdb-com.el (bbdb-delete-duplicate-mails)
2190 (bbdb-display-records-completely)
2191 (bbdb-display-records-with-layout, bbdb-copy-records-as-kill): Doc
2193 (bbdb-search-duplicates): Improved interactive spec. New arg
2195 (bbdb-delete-field-or-record): Make records a required arg. New
2196 arg fields. Doc fix.
2197 (bbdb-delete-records, bbdb-toggle-records-layout)
2198 (bbdb-sort-addresses, bbdb-sort-phones, bbdb-sort-notes)
2199 (bbdb-add-mail-alias): Make records a required arg. Doc fix.
2200 (bbdb-mail-address): New command bound to M.
2201 (bbdb-mail): Use it. New arg verbose. Fix interactive spec.
2202 (bbdb-mail-yank): Renamed from bbdb-yank-addresses. Bug fix.
2203 (bbdb-yank-addresses): Declared obsolete.
2204 (bbdb-browse-url): Simplify. Doc fix.
2205 (bbdb-grab-url): Simplify.
2207 * lisp/bbdb-vm.el (bbdb/vm-update-records-p)
2208 * lisp/bbdb-gnus.el (bbdb/gnus-update-records-p)
2209 * lisp/bbdb-rmail.el (bbdb/rmail-update-records-p): Improved default.
2211 2010-11-01 Roland Winkler <winkler@gnu.org>
2212 * lisp/bbdb.el (bbdb-wrap-column): New variable.
2213 (bbdb-format-list): Use bbdb-wrap-column and bbdb-separator-alist.
2214 (bbdb-layout-alist, bbdb-format-address-continental)
2215 (bbdb-format-address-default, bbdb-format-record-multi-line):
2216 Change value of indentation such that it becomes the total
2219 * lisp/bbdb-com.el (bbdb-dwim-mail): Fix typo.
2221 2010-10-17 Roland Winkler <winkler@gnu.org>
2222 * lisp/bbdb.el (bbdb-mail-allow-redundancy): Doc fix.
2223 (bbdb-mode-map): Include bbdb-do-all-records in "Use database"
2226 * lisp/bbdb-com.el (bbdb-record-list): Doc fix.
2227 (bbdb-dwim-mail): Arg MAIL may be a number,
2228 which will pick the MAILth mail address.
2229 (bbdb-mail): New optional arg N to pick Nth mail address.
2231 2010-09-30 Roland Winkler <winkler@gnu.org>
2232 * lisp/bbdb.el (bbdb-insert-record-internal): Handle empty
2234 * lisp/bbdb-com.el (bbdb-dwim-mail): Cleanup code.
2236 2010-09-19 Roland Winkler <winkler@gnu.org>
2237 * lisp/bbdb-mua.el (bbdb-prompt-for-create): Quit with C-g.
2238 (bbdb-annotate-message) Call UPDATE-P only if record is not yet
2241 2010-08-28 Roland Winkler <winkler@gnu.org>
2242 * Relicense all BBDB files to GPLv3 or later. Update email
2243 address to winkler@gnu.org.
2245 * lisp/bbdb.el (bbdb-completion-list): Element name replaced by
2246 fl-name and lf-name.
2248 * lisp/bbdb-com.el (bbdb-insert-field): Use remq instead of delq.
2249 (bbdb-complete-mail): Do not use trimmed version of the pattern
2250 for partial completion. Distinguish fl-name and lf-name.
2252 2010-08-01 Roland Winkler <winkler@gnu.org>
2253 * lisp/bbdb.el (bbdb-message-caching): Renamed from
2254 bbdb-message-caching-enabled.
2255 (bbdb-create-hook): Renamed from bbdb-create-hooks.
2256 (bbdb-change-hook): Renamed from bbdb-change-hooks.
2257 (bbdb-after-change-hook): Renamed from bbdb-after-change-hooks.
2258 (bbdb-notice-hook): Renamed from bbdb-notice-hooks.
2259 (bbdb-accept-message-alist): Renamed from
2260 bbdb-accept-messages-alist.
2261 (bbdb-ignore-message-alist): Renamed from
2262 bbdb-ignore-messages-alist.
2263 (bbdb-update-records-p): New user var.
2264 (bbdb-notice-hook-pending): Renamed from bbdb-inside-notice-hooks.
2265 (bbdb-user-mail-address-re): Renamed from bbdb-user-mail-names.
2266 (bbdb-mail-allow-redundancy): Renamed from
2267 bbdb-dwim-mail-allow-redundancy.
2268 (bbdb-check-auto-save-file): Renamed from
2269 bbdb-notice-auto-save-file.
2270 (bbdb-completion-list): Renamed from bbdb-completion-alist.
2271 (bbdb-mail-alias): Renamed from bbdb-mail-alias-mode.
2272 (bbdb-mail-user-agent): Replacement for bbdb-user-style.
2273 (bbdb-compose-mail): Renamed from bbdb-mail-internal.
2274 (bbdb-default-separator): Renamed from
2275 bbdb-notes-default-separator.
2276 (bbdb-separator-alist): Renamed from bbdb-notes-separator-alist.
2277 (bbdb-concat): Renamed from bbdb-join.
2279 * lisp/bbdb-com.el (bbdb-grab-url): Renamed from
2282 * lisp/bbdb-mua.el: New file. Content merged from bbdb-com.el and
2284 (bbdb-get-address-components): Changed calling sequence.
2285 (bbdb-message-header): Renamed from bbdb-message-field.
2286 (bbdb-accept-message): Renamed from bbdb-ignore-most-messages.
2287 (bbdb-ignore-message): Renamed from bbdb-ignore-some-messages.
2288 (bbdb-select-message): Renamed from
2289 bbdb-ignore-selected-messages-hook.
2290 (bbdb-auto-notes): Renamed from bbdb-auto-notes-hook.
2291 (bbdb-canonicalize-mail-1): Renamed from
2292 bbdb-sample-canonicalize-mail-function.
2294 * lisp/bbdb-print.el (bbdb-print-file): Renamed from
2295 bbdb-print-file-name.
2296 (bbdb-print-tex-quote-alist): New var.
2297 (bbdb-print-address-format-alist): Renamed from
2298 bbdb-address-print-format-alist.
2299 (bbdb-print-record): Renamed from bbdb-print-format-record.
2300 (bbdb-print-address-continental): Renamed from
2301 bbdb-print-format-address-continental.
2302 (bbdb-print-address-default): Renamed from
2303 bbdb-print-format-address-default.
2304 (bbdb-print-phone): Renamed from bbdb-print-phone-string.
2306 * lisp/bbdb-vm.el (bbdb/vm-auto-folder): Renamed from
2307 bbdb/vm-auto-folder-alist.
2308 (bbdb/vm-virtual-folder): Renamed from
2309 bbdb/vm-virtual-folder-alist.
2315 Copyright (C) 2010-2017 Roland Winkler <winkler@gnu.org>
2317 This file is part of the Insidious Big Brother Database (aka BBDB),
2319 BBDB is free software: you can redistribute it and/or modify
2320 it under the terms of the GNU General Public License as published by
2321 the Free Software Foundation, either version 3 of the License, or
2322 (at your option) any later version.
2324 BBDB is distributed in the hope that it will be useful,
2325 but WITHOUT ANY WARRANTY; without even the implied warranty of
2326 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2327 GNU General Public License for more details.
2329 You should have received a copy of the GNU General Public License
2330 along with BBDB. If not, see <http://www.gnu.org/licenses/>.