It looks like it worked correctly in cvs20040528. Upstream made a
change that rewrites the "coding: " info without setting the buffer
coding system, and without reading the previous coding system. The
attached patch reverts upstream's change and only writes the "coding:
" info if it is not already present. I've tested it, and with the
patch applied, it seems to work correctly again.
<bbdb.patch>
--
Hubert Chan - email & Jabber: [EMAIL PROTECTED] - http://www.uhoreg.ca/
PGP/GnuPG key: 1024D/124B61FA (Key available at wwwkeys.pgp.net)
Fingerprint: 96C5 012F 5F74 A5F7 1FF7 5291 AF29 C719 124B 61FA
--- bbdb-2.35.cvs20060204/lisp/bbdb.el
+++ bbdb-2.35.cvs20060204/lisp/bbdb.el
@@ -2444,13 +2444,11 @@
(save-restriction
(widen)
(goto-char (point-min))
-
- ;; this always rewrites the coding cookie, which is a bit
- ;; wasteful, but safer than alternatives
- (if (looking-at ";; *-\\*-coding:")
- (delete-region (point) (progn (forward-line) (point))))
- (insert-before-markers (format ";; -*-coding: %s;-*-\n"
- bbdb-file-coding-system)))
+ ;; Fixme: probably this should check any existing cookie for
+ ;; consistency with bbdb-file-coding-system.
+ (unless (looking-at ";; *-\\*-coding:")
+ (insert-before-markers (format ";; -*-coding: %s;-*-\n"
+ bbdb-file-coding-system))))
(setq bbdb-modified-p nil
bbdb-changed-records nil)
(let ((buf (get-buffer bbdb-buffer-name)))