(emacs-version)
"GNU Emacs 19.29.1 (sparc-sun-sunos4shr) of Mon Jun 26 1995 on quetelet"
(bbdb-version)
"BBDB version 1.50; 18-feb-94."
Hi,
Following someone's advice here, I did the following in .emacs:
(defun sema-split (string separators)
"bbdb-split modified so that it doesn't break on empty strings"
(if string
(let (result (not-separators (concat "^" separators)))
(save-excursion
(set-buffer (get-buffer-create " *split*"))
(erase-buffer) (insert string) (goto-char (point-min))
(while (progn
(skip-chars-forward separators)
(skip-chars-forward " \t\n\r")
(not (eobp)))
(let ((begin (point)) p)
(skip-chars-forward not-separators)
(setq p (point))
(skip-chars-backward " \t\n\r")
(setq result (cons (buffer-substring begin (point)) result))
(goto-char p)))
(erase-buffer))
(nreverse result))))
(defun rmail-bbdb-guess-folder () "Try to find a mail-folder in the BBDB."
(interactive)
(let* ((record (bbdb/rmail-update-record))
(folder (or (bbdb-record-getprop record 'mail-folder)
(elt (sema-split (bbdb-record-getprop record 'mail-alias) ",") 0)
(elt (sema-split (elt (bbdb-record-net record) 0) "@") 0))))
(if folder (expand-file-name folder rmail-secondary-file-directory))))
(setq rmail-output-file-alist '(("." . (rmail-bbdb-guess-folder))))
Well, it worked perfectly for a month(!), but today something has
happened: when I hit C-o in rmail buffer, I get:
Signalling: (invalid-function (macro . #[(vector) "@ BE" [aref vector 6] 3]))
bbdb-record-net(["Chris" "Thomas" ("OAC Consulting") "UCLA Office of Academic
Computing; Manager, Systems Programming" (["o:MS 4302" 310 825 7452 0]) nil
("[EMAIL PROTECTED]" "[EMAIL PROTECTED]") ((creation-date . "12 Aug 95") (timestamp .
"16 Aug 95") (www . "http://www.ucla.edu/bruinonline/")) ["Chris Thomas" nil #<marker
at 42786 in .bbdb> nil]])
rmail-bbdb-guess-folder()
eval((rmail-bbdb-guess-folder))
byte-code("@ )
call-interactively(rmail-output)
Well, I deemed that the trouble is with bbdb-record-net, and tried to
find it.
(describe-function 'bbdb-record-net)
"bbdb-record-net: a Lisp macro in `bbdb'.
not documented"
To my dismay, I could not find (defmacro bbdb-record-net ... in ANY of
the bbdb*.el files. WHAT IS GOING ON?!!!
In a different vein: how do I define a macro (or a function) that takes
any number of arguments (say, to pass them all to (append) or (concat)).
--
<A HREF="http://www.math.ucla.edu/~shteingd"> Sam Steingold </A>
I would appreciate comments on / corrections of my English from native
English speakers. Thank You!