GNU bug report logs - #21724
25.0.50; (void-function (setf epg-context-armor))

Previous Next

Package: emacs;

Reported by: Katsumi Yamaoka <yamaoka <at> jpl.org>

Date: Wed, 21 Oct 2015 09:04:02 UTC

Severity: normal

Found in version 25.0.50

Done: Katsumi Yamaoka <yamaoka <at> jpl.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Katsumi Yamaoka <yamaoka <at> jpl.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#21724: closed (25.0.50; (void-function (setf epg-context-armor)))
Date: Thu, 22 Oct 2015 23:58:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Fri, 23 Oct 2015 08:57:48 +0900
with message-id <b4msi52xxqb.fsf <at> jpl.org>
and subject line Re: bug#21724: 25.0.50; (void-function (setf epg-context-armor))
has caused the debbugs.gnu.org bug report #21724,
regarding 25.0.50; (void-function (setf epg-context-armor))
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
21724: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21724
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: bug-gnu-emacs <at> gnu.org
Cc: Nicolas Petton <nicolas <at> petton.fr>
Subject: 25.0.50; (void-function (setf epg-context-armor))
Date: Wed, 21 Oct 2015 18:03:38 +0900
References: <http://thread.gmane.org/gmane.emacs.diffs/132036>

On Tue, 13 Oct 2015 09:36:28 +0900, Katsumi Yamaoka wrote:
> On Sun, 11 Oct 2015 21:03:07 +0000, Nicolas Petton wrote:
>>     * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token): Replace an
>>       usage of `epg-context-set-armor' with `setf'.
> [...]
>> -    (epg-context-set-armor context t)
>> +    (setf (epg-context-armor context) t)

> This doesn't seem to be expanded properly when building Emacs:

> In end of data:
> gnus/auth-source.el:2145:1:Warning: the function `(setf epg-context-armor)' is
>     not known to be defined.

> How do we fix it?

I got:

Debugger entered--Lisp error: (void-function \(setf\ epg-context-armor\))

Recipe:

$ emacs -Q
load: lisp/gnus/auth-source.elc
eval: (auth-source-epa-make-gpg-token "foo" "bar")

To fix it, epg.el(c) is required when compiling auth-source.el,
I think.  Though once I merged the change to the Gnus git master,
I reverted it thereafter, since old Emacsen that Gnus supports do
not have the setf-method for epg-context-armor.

Regards,


[Message part 3 (message/rfc822, inline)]
From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: 21724-done <at> debbugs.gnu.org
Cc: Nicolas Petton <nicolas <at> petton.fr>
Subject: Re: bug#21724: 25.0.50; (void-function (setf epg-context-armor))
Date: Fri, 23 Oct 2015 08:57:48 +0900
On Wed, 21 Oct 2015 18:03:38 +0900, Katsumi Yamaoka wrote:
> References: <http://thread.gmane.org/gmane.emacs.diffs/132036>

>>> -    (epg-context-set-armor context t)
>>> +    (setf (epg-context-armor context) t)

> Debugger entered--Lisp error: (void-function \(setf\ epg-context-armor\))

> To fix it, epg.el(c) is required when compiling auth-source.el,
> I think.

First I tried adding: (eval-when-compile (require 'epg))
It fixed the setf compilation problem.  However, the byte compiler
got to issue a new warning as follows:

In end of data:
auth-source.el:2145:1:Warning: the following functions might not be defined at
    runtime: epg-context-set-passphrase-callback, epg-decrypt-string,
    epg-encrypt-string

So, I'm not quite sure why it helps, but I wrapped the existing
autoload settings for those functions with `eval-and-compile':

<http://article.gmane.org/gmane.emacs.diffs/132162>


This bug report was last modified 9 years and 213 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.