[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: problem after upgrading
From: |
Brent Busby |
Subject: |
Re: problem after upgrading |
Date: |
Thu, 08 Aug 2019 20:20:12 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
"Roland Winkler" <address@hidden> writes:
> On Tue Aug 6 2019 Brent Busby wrote:
>> "Roland Winkler" <address@hidden> writes:
>> > Are you using a compiled BBDB? - Make sure that you have loaded the
>> > current bbdb.el(c) and your problem should go away.
>>
>> I was sure that was probably it, so because I had so many old packages
>> from 2015 in ~/.emacs.d/elpa/, I uninstalled everything as a separate
>> operation before proceeding, confirmed that my packages subdirectory was
>> clear, then installed the packages I mainly wanted fresh from the package
>> menu.
>>
>> It still gives me the "invalid function: bbdb-pushnew" error,
>
> Something odd seems to be happening here:
>
> - Can you possibly get a more complete backtrace from the debugger
> if you first run M-x toggle-debug-on-error
Here's what I get from that, with real names and email addresses
obfuscated to protect the guilty:
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (invalid-function bbdb-pushnew)
bbdb-pushnew(["Klingon" "Hamster" nil nil nil nil nil
("address@hidden") nil "ba4a6872-5939-4209-b44b-4367798e94c0"
"2016-08-01 17:14:52 +0000" "2016-08-01 17:14:52 +0000" ["Klingon Hamster"
"Hamster, Klingon" nil ("address@hidden") nil #<marker at 6067 in bbdb>]] nil)
bbdb-update-records((("Klingon Hamster" "address@hidden" "From" sender gnus)
("Jumping Jacks" "address@hidden" "CC" recipients gnus)) bbdb-select-message
nil)
bbdb-mua-update-records(nil bbdb-select-message)
bbdb-mua-auto-update()
run-hooks(gnus-article-prepare-hook)
apply(run-hooks gnus-article-prepare-hook)
gnus-run-hooks(gnus-article-prepare-hook)
gnus-article-prepare(19119 nil)
gnus-summary-display-article(19119 nil)
gnus-summary-select-article(nil nil pseudo)
gnus-summary-scroll-up(1)
funcall-interactively(gnus-summary-scroll-up 1)
call-interactively(gnus-summary-scroll-up nil nil)
command-execute(gnus-summary-scroll-up)
--8<---------------cut here---------------end--------------->8---
> Is this error triggered by some uncompiled or compiled code?
That I can't tell from the above, though my
~/.emacs.d/elpa/bbdb-20190609.316/ subdirectory contains both .el and
.elc files for everything, including bbdb.el / bbdb.elc.
> Is this code part of bbdb itself or is the error triggered by some
> "third-party code" that uses bbdb?
It's almost certainly being triggered by Gnus. In fact, I don't see it
until I view an email in Gnus containing a name/email address that's in
my addressbook, and it never appears any other time. The error is
emitted every time such an email is viewed, not just the first time.
Running gnus-version says I'm on Gnus 5.13, which I got bundled with GNU
Emacs 26.2.
> - Can you locate the file bbdb.el on your computer and check that it
> contains the line
>
> (defmacro bbdb-pushnew (element listname)
Yes, in fact here's the whole excerpt from
~/.emacs.d/elpa/bbdb-20190609.316/bbdb/el. There are no other versions
of BBDB installed anywhere, either as MELPA packages nor system-wide
through Linux, besides this version:
--8<---------------cut here---------------start------------->8---
;; The following macros implement variants of `pushnew' (till emacs 24.2)
;; or `cl-pushnew' (since emacs 24.3). To be compatible with older and newer
;; versions of emacs we use our own macros. We call these macros often.
;; So we keep them simple. Nothing fancy is needed here.
(defmacro bbdb-pushnew (element listname)
"Add ELEMENT to the value of LISTNAME if it isn't there yet.
The test for presence of ELEMENT is done with `equal'.
The return value is the new value of LISTNAME."
`(let ((elt ,element))
(if (member elt ,listname)
,listname
(setq ,listname (cons elt ,listname)))))
--8<---------------cut here---------------end--------------->8---
> What happens if you load this file before doing anything else?
Nothing different, but then I do have (require 'bbdb) in my ~/.emacs, so
that's already being done for me when Emacs starts.