* bug#21724: 25.0.50; (void-function (setf epg-context-armor))
[not found] ` <b4mr3kzy583.fsf@jpl.org>
@ 2015-10-21 9:03 ` Katsumi Yamaoka
2015-10-22 23:57 ` Katsumi Yamaoka
0 siblings, 1 reply; 5+ messages in thread
From: Katsumi Yamaoka @ 2015-10-21 9:03 UTC (permalink / raw)
To: 21724; +Cc: Nicolas Petton
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,
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#21724: 25.0.50; (void-function (setf epg-context-armor))
2015-10-21 9:03 ` bug#21724: 25.0.50; (void-function (setf epg-context-armor)) Katsumi Yamaoka
@ 2015-10-22 23:57 ` Katsumi Yamaoka
2015-10-23 0:27 ` Glenn Morris
0 siblings, 1 reply; 5+ messages in thread
From: Katsumi Yamaoka @ 2015-10-22 23:57 UTC (permalink / raw)
To: 21724-done; +Cc: Nicolas Petton
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>
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#21724: 25.0.50; (void-function (setf epg-context-armor))
2015-10-22 23:57 ` Katsumi Yamaoka
@ 2015-10-23 0:27 ` Glenn Morris
2015-10-23 2:40 ` Katsumi Yamaoka
0 siblings, 1 reply; 5+ messages in thread
From: Glenn Morris @ 2015-10-23 0:27 UTC (permalink / raw)
To: 21724; +Cc: yamaoka
Katsumi Yamaoka wrote:
> So, I'm not quite sure why it helps, but I wrapped the existing
> autoload settings for those functions with `eval-and-compile':
IMO it is better to move the epg autoloads after the epg eval-when-compile.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#21724: 25.0.50; (void-function (setf epg-context-armor))
2015-10-23 0:27 ` Glenn Morris
@ 2015-10-23 2:40 ` Katsumi Yamaoka
2015-10-23 4:05 ` Glenn Morris
0 siblings, 1 reply; 5+ messages in thread
From: Katsumi Yamaoka @ 2015-10-23 2:40 UTC (permalink / raw)
To: Glenn Morris; +Cc: 21724
On Thu, 22 Oct 2015 20:27:16 -0400, Glenn Morris wrote:
> Katsumi Yamaoka wrote:
>> So, I'm not quite sure why it helps, but I wrapped the existing
>> autoload settings for those functions with `eval-and-compile':
> IMO it is better to move the epg autoloads after the epg eval-when-compile.
Thanks. I see why adding (eval-when-compile (require 'epg))
caused a new warning. It marked all the epg functions including
those autoloads maybe non-existent at the run-time, didn't it?
Committed.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#21724: 25.0.50; (void-function (setf epg-context-armor))
2015-10-23 2:40 ` Katsumi Yamaoka
@ 2015-10-23 4:05 ` Glenn Morris
0 siblings, 0 replies; 5+ messages in thread
From: Glenn Morris @ 2015-10-23 4:05 UTC (permalink / raw)
To: Katsumi Yamaoka; +Cc: 21724
Katsumi Yamaoka wrote:
> Thanks. I see why adding (eval-when-compile (require 'epg))
> caused a new warning. It marked all the epg functions including
> those autoloads maybe non-existent at the run-time, didn't it?
Yes. I didn't investigate, but it's probably a compiler bug.
It doesn't properly track autoloaded-but-not-actually-defun'd definitions
before eval-when-compile, so whatever statement comes last wins.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-10-23 4:05 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20151011210306.16935.15935@vcs.savannah.gnu.org>
[not found] ` <E1ZlNlr-0004QG-3U@vcs.savannah.gnu.org>
[not found] ` <b4mr3kzy583.fsf@jpl.org>
2015-10-21 9:03 ` bug#21724: 25.0.50; (void-function (setf epg-context-armor)) Katsumi Yamaoka
2015-10-22 23:57 ` Katsumi Yamaoka
2015-10-23 0:27 ` Glenn Morris
2015-10-23 2:40 ` Katsumi Yamaoka
2015-10-23 4:05 ` Glenn Morris
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).