Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
* possible bug? gnus in emacs 27; error in hash-table-p
@ 2019-07-20 17:57 physiculus
  2019-07-20 18:45 ` Eric Abrahamsen
  0 siblings, 1 reply; 10+ messages in thread
From: physiculus @ 2019-07-20 17:57 UTC (permalink / raw)
  To: info-gnus-english

hello,
perhaps there is a bug or any misconfiguration in gnus from emacs 27.
every time i end gnus and restart it, the following error pops up and
gnus stops.
"gnus-read-init-file: Error in ~/.gnus: hash-table-p"

What does it mean?

Emacs is working ok.

Regards
Poul


_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: possible bug? gnus in emacs 27; error in hash-table-p
  2019-07-20 17:57 possible bug? gnus in emacs 27; error in hash-table-p physiculus
@ 2019-07-20 18:45 ` Eric Abrahamsen
       [not found]   ` <87k1cbe2j6.fsf@googlemail.com>
  0 siblings, 1 reply; 10+ messages in thread
From: Eric Abrahamsen @ 2019-07-20 18:45 UTC (permalink / raw)
  To: info-gnus-english

physiculus <physiculus@gmail.com> writes:

> hello,
> perhaps there is a bug or any misconfiguration in gnus from emacs 27.
> every time i end gnus and restart it, the following error pops up and
> gnus stops.
> "gnus-read-init-file: Error in ~/.gnus: hash-table-p"
>
> What does it mean?

Almost certainly something related to changes I've made in Gnus over the
past few weeks. I think the first step would be to delete all the *.elc
files from inside the lisp/gnus directory in the emacs source tree, and
run "make" again (assuming you're building from git).

If that doesn't work, please do M-x toggle-debug-on-error, trigger the
error again, and send the backtrace here.

Thanks,
Eric


_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* possible bug? gnus in emacs 27; error in hash-table-p
       [not found]           ` <87r26hxqkx.fsf@googlemail.com>
@ 2019-07-23  9:32             ` paul poulsen
  2019-07-23 19:01               ` Eric Abrahamsen
  0 siblings, 1 reply; 10+ messages in thread
From: paul poulsen @ 2019-07-23  9:32 UTC (permalink / raw)
  To: info-gnus-english


[-- Attachment #1.1: Type: text/plain, Size: 635 bytes --]

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

>
> Okay, I see that the Gnus manual tells users to put this call directly
> in their gnus.el files, so your config here has no problems. The problem
> is in how the function does the update -- it should probably be delayed
> until Gnus has been started up. I'm going to file this as a bug, with a
> proposed solution, and hopefully we'll have this sorted out soon.
>
> Thanks for the report,
> Eric

Thanks a lot!
Do you communicate the solution here?

PS: Until now i'm not able to switch my splitting to fancy-splitting.
Is it possible, that this problem is related?

Regards
Poul

[-- Attachment #1.2: Type: text/html, Size: 939 bytes --]

[-- Attachment #2: Type: text/plain, Size: 162 bytes --]

_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: possible bug? gnus in emacs 27; error in hash-table-p
  2019-07-23  9:32             ` paul poulsen
@ 2019-07-23 19:01               ` Eric Abrahamsen
  2019-07-24 16:34                 ` physiculus
  0 siblings, 1 reply; 10+ messages in thread
From: Eric Abrahamsen @ 2019-07-23 19:01 UTC (permalink / raw)
  To: info-gnus-english

paul poulsen <physiculus@gmail.com> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>>
>> Okay, I see that the Gnus manual tells users to put this call directly
>> in their gnus.el files, so your config here has no problems. The problem
>> is in how the function does the update -- it should probably be delayed
>> until Gnus has been started up. I'm going to file this as a bug, with a
>> proposed solution, and hopefully we'll have this sorted out soon.
>>
>> Thanks for the report,
>> Eric
>
> Thanks a lot!
> Do you communicate the solution here?

Not only that, I'll ask you to test it first! :)

> PS: Until now i'm not able to switch my splitting to fancy-splitting.
> Is it possible, that this problem is related?

It could be. First of all, you're trying to do splitting with imap,
right?

The first call to `gnus-group-split-update' would fail in your case, but
you also passed the AUTO-UPDATE flag, so it should be getting called
again afterwards, each time you get new mail.

On the other hand, with auto-update, the function is added to the
`nnmail-pre-get-new-mail-hook', which is run for all backends that
support splitting *except* nnimap, which doesn't call
`nnmail-get-new-mail', but calls `nnmail-split-incoming' directly.

So it probably wouldn't work for nnimap no matter what. I'm just
thinking out loud here.

Let's do this the other way: would you remove this line from your gnus.el
file:

(gnus-group-split-setup t)

And replace it with these two lines:

(setq nnmail-split-methods 'nnmail-split-fancy)
(add-hook 'gnus-startup-hook #'gnus-group-split-update)

And see if that gets fancy splitting working in Gnus? Then we can go
backwards from there.

Thanks,
Eric


_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: possible bug? gnus in emacs 27; error in hash-table-p
  2019-07-23 19:01               ` Eric Abrahamsen
@ 2019-07-24 16:34                 ` physiculus
  2019-07-24 17:04                   ` Eric Abrahamsen
  0 siblings, 1 reply; 10+ messages in thread
From: physiculus @ 2019-07-24 16:34 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: info-gnus-english

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

>
> Let's do this the other way: would you remove this line from your gnus.el
> file:
>
> (gnus-group-split-setup t)
>
> And replace it with these two lines:
>
> (setq nnmail-split-methods 'nnmail-split-fancy)
> (add-hook 'gnus-startup-hook #'gnus-group-split-update)
>
> And see if that gets fancy splitting working in Gnus? Then we can go
> backwards from there.

Hello,
i tried your suggestions, but with no luck :-(

The following error occured right after first start of gnus.

Debugger entered--Lisp error: (wrong-type-argument hash-table-p nil)
  gethash("JensPrivat" nil)
  gnus-group-get-parameter("JensPrivat")
  gnus-group-find-parameter("JensPrivat")
  gnus-group-split-fancy(nil t "mail.misc")
  gnus-group-split-update()
  run-hooks(gnus-startup-hook)
  apply(run-hooks gnus-startup-hook)
  gnus-run-hooks(gnus-startup-hook)
  #f(compiled-function () #<bytecode 0x15817af83639>)()
  gnus-1(nil nil nil)
  gnus(nil)
  funcall-interactively(gnus nil)
  call-interactively(gnus record nil)
  command-execute(gnus record)
  #f(compiled-function (cmd) #<bytecode 0x15817b0f103d>)("gnus")
  ivy-call()
  ivy-read("M-x " ("toggle-debug-on-error" "gnus" "restart-emacs" "package-list-packages" "desktop-read" "global-so-long-mode" "so-long-commentary" "desktop-save" "counsel-load-theme" "load-theme" "ivy-avy" "disable-theme" "package-delete" "package-install" "customize-themes" "enable-theme" "customize-group" "desktop-save-mode" "w3m-browse-url" "gnus-group-exit" "counsel-expand-env" "eww-mode" "org-mode" "browse-url" "other-frame" "cd" "tp" "ts" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "w3m" "xdb" "bbdb" "calc" ...) :predicate nil :require-match t :history counsel-M-x-history :action #f(compiled-function (cmd) #<bytecode 0x15817b0f103d>) :sort nil :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)

Is this helpful?

Regards
Poul

_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: possible bug? gnus in emacs 27; error in hash-table-p
  2019-07-24 16:34                 ` physiculus
@ 2019-07-24 17:04                   ` Eric Abrahamsen
  2019-07-26  5:33                     ` physiculus
  0 siblings, 1 reply; 10+ messages in thread
From: Eric Abrahamsen @ 2019-07-24 17:04 UTC (permalink / raw)
  To: info-gnus-english

physiculus <physiculus@gmail.com> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>>
>> Let's do this the other way: would you remove this line from your gnus.el
>> file:
>>
>> (gnus-group-split-setup t)
>>
>> And replace it with these two lines:
>>
>> (setq nnmail-split-methods 'nnmail-split-fancy)
>> (add-hook 'gnus-startup-hook #'gnus-group-split-update)
>>
>> And see if that gets fancy splitting working in Gnus? Then we can go
>> backwards from there.
>
> Hello,
> i tried your suggestions, but with no luck :-(
>
> The following error occured right after first start of gnus.
>
> Debugger entered--Lisp error: (wrong-type-argument hash-table-p nil)

Oops, sorry, I should have seen that coming. Would you test instead:

(add-hook 'gnus-read-newsrc-el-hook #'gnus-group-split-update)

That seems to be the only place to run after the groups have been read,
but before unread messages are fetched for the first time.

Eric


_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: possible bug? gnus in emacs 27; error in hash-table-p
  2019-07-24 17:04                   ` Eric Abrahamsen
@ 2019-07-26  5:33                     ` physiculus
  2019-07-26 15:35                       ` Eric Abrahamsen
  0 siblings, 1 reply; 10+ messages in thread
From: physiculus @ 2019-07-26  5:33 UTC (permalink / raw)
  To: info-gnus-english

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

>
> Oops, sorry, I should have seen that coming. Would you test instead:
>
> (add-hook 'gnus-read-newsrc-el-hook #'gnus-group-split-update)
>
> That seems to be the only place to run after the groups have been read,
> but before unread messages are fetched for the first time.
>
> Eric

Wonderful! Now it works.
Thank you for the help.

One thing i do not understand:
As far as i read, your lines switch splitting to fancy-splitting,
right?
If so, splitting rules have to be in splitting-rule syntax (i read it in
the manual) and should be inside the server.
But i didn't change any of my rules and gnus is splitting.
The rules are outside the server.
Why is it working?
Is it better, to put it inside the server?
I want to use the gnus spam rules (gnus own and/or e.g. bogofilter) and the manual describes only split-fancy
rules.

Regards
Poul

_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: possible bug? gnus in emacs 27; error in hash-table-p
  2019-07-26  5:33                     ` physiculus
@ 2019-07-26 15:35                       ` Eric Abrahamsen
  2019-07-26 17:08                         ` physiculus
  0 siblings, 1 reply; 10+ messages in thread
From: Eric Abrahamsen @ 2019-07-26 15:35 UTC (permalink / raw)
  To: info-gnus-english

physiculus <physiculus@gmail.com> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>>
>> Oops, sorry, I should have seen that coming. Would you test instead:
>>
>> (add-hook 'gnus-read-newsrc-el-hook #'gnus-group-split-update)
>>
>> That seems to be the only place to run after the groups have been read,
>> but before unread messages are fetched for the first time.
>>
>> Eric
>
> Wonderful! Now it works.
> Thank you for the help.
>
> One thing i do not understand:
> As far as i read, your lines switch splitting to fancy-splitting,
> right?
> If so, splitting rules have to be in splitting-rule syntax (i read it in
> the manual) and should be inside the server.
> But i didn't change any of my rules and gnus is splitting.
> The rules are outside the server.
> Why is it working?

The only question harder to answer than "Why isn't it working?" is "Why
IS it working?" :)

Your imap servers have a nnimap-split-methods value of 'default, which
means each one will use the value of nnmail-split-methods.
nnmail-split-methods is set to the symbol 'nnmail-split-fancy, so all
servers should use the value of that variable.

The gnus-group-split-update function sets nnmail-split-fancy to a split
made from group parameters.

In your config, you've got nnmail-split-methods set to an actual split.
But when gnus-group-split-update runs, it should completely override
that config with a split made from group parameters.

So my question is: have you set to-list/to-address parameters on your
groups? Because if you haven't, I don't know how any splitting is
happening. Can you show the value of nnmail-split-fancy after Gnus is
done starting up?

> Is it better, to put it inside the server?

If you want different rules for different servers, then put the rules in
the individual servers. If you want the same rules for everything, then
you can just set global values.


_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: possible bug? gnus in emacs 27; error in hash-table-p
  2019-07-26 15:35                       ` Eric Abrahamsen
@ 2019-07-26 17:08                         ` physiculus
  2019-07-26 17:36                           ` Eric Abrahamsen
  0 siblings, 1 reply; 10+ messages in thread
From: physiculus @ 2019-07-26 17:08 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: gnus

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

>> Why is it working?
>
> The only question harder to answer than "Why isn't it working?" is "Why
> IS it working?" :)
>
> Your imap servers have a nnimap-split-methods value of 'default, which
> means each one will use the value of nnmail-split-methods.
> nnmail-split-methods is set to the symbol 'nnmail-split-fancy, so all
> servers should use the value of that variable.
>
> The gnus-group-split-update function sets nnmail-split-fancy to a split
> made from group parameters.
>
> In your config, you've got nnmail-split-methods set to an actual split.
> But when gnus-group-split-update runs, it should completely override
> that config with a split made from group parameters.
>
> So my question is: have you set to-list/to-address parameters on your
> groups? Because if you haven't, I don't know how any splitting is
> happening. Can you show the value of nnmail-split-fancy after Gnus is
> done starting up?
I try to understand what you wrote.
Because i'm not sure what to-list parameter means here is one server
configuration complete.

(nnimap "GMail"
                                              (nnimap-address "imap.gmail.com")
                                              (nnimap-server-port "imaps")
                                              (nnimap-user "physiculus@googlemail.com")
                                              (nnimap-stream ssl)
                                              (nnimap-inbox "INBOX")
                                              (nnimap-expunge t)
                                              (nnimap-record-commands t)
                                              (nnimap-split-methods default)
                                              (get-new-mail t)
                                              (nnir-search-engine imap)
                                              )

and here are my posting styles.
;; posting styles
(setq gnus-parameters '(("JP"
         (posting-style
          (address "xxx@xxx.de")
          (name "gesetzt")
          ("X-Message-SMTP-Method" "smtp xxx.mailout.server-he.de 25 xxx-xxx")
          (body "")
         ))

and here is the value of nnmail-split-fancy

nnmail-split-fancy is a variable defined in `nnmail.el'.
Its value is (| "mail.misc")

Original value was
"mail.misc"

Does it help?

Regards
Poul

>> Is it better, to put it inside the server?
>
> If you want different rules for different servers, then put the rules in
> the individual servers. If you want the same rules for everything, then
> you can just set global values.

Ok, i understand.
Could i mix rules?

_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: possible bug? gnus in emacs 27; error in hash-table-p
  2019-07-26 17:08                         ` physiculus
@ 2019-07-26 17:36                           ` Eric Abrahamsen
  0 siblings, 0 replies; 10+ messages in thread
From: Eric Abrahamsen @ 2019-07-26 17:36 UTC (permalink / raw)
  To: info-gnus-english

physiculus <physiculus@gmail.com> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>>> Why is it working?
>>
>> The only question harder to answer than "Why isn't it working?" is "Why
>> IS it working?" :)
>>
>> Your imap servers have a nnimap-split-methods value of 'default, which
>> means each one will use the value of nnmail-split-methods.
>> nnmail-split-methods is set to the symbol 'nnmail-split-fancy, so all
>> servers should use the value of that variable.
>>
>> The gnus-group-split-update function sets nnmail-split-fancy to a split
>> made from group parameters.
>>
>> In your config, you've got nnmail-split-methods set to an actual split.
>> But when gnus-group-split-update runs, it should completely override
>> that config with a split made from group parameters.
>>
>> So my question is: have you set to-list/to-address parameters on your
>> groups? Because if you haven't, I don't know how any splitting is
>> happening. Can you show the value of nnmail-split-fancy after Gnus is
>> done starting up?
> I try to understand what you wrote.
> Because i'm not sure what to-list parameter means here is one server
> configuration complete.

Okay, that answers that question :)

So the mail splitting is happening according to your value of
`nnmail-split-methods'? I guess if it ain't broke, we won't fix it!

I'll push a change to master in a day or two that changes the hook. You
can either rebuild then, or tbh could just leave your config the way it
is now.

Eric


_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-07-26 17:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-20 17:57 possible bug? gnus in emacs 27; error in hash-table-p physiculus
2019-07-20 18:45 ` Eric Abrahamsen
     [not found]   ` <87k1cbe2j6.fsf@googlemail.com>
     [not found]     ` <87k1ca1xtp.fsf@ericabrahamsen.net>
     [not found]       ` <87muh6xazc.fsf@googlemail.com>
     [not found]         ` <87pnm26ixg.fsf@ericabrahamsen.net>
     [not found]           ` <87r26hxqkx.fsf@googlemail.com>
2019-07-23  9:32             ` paul poulsen
2019-07-23 19:01               ` Eric Abrahamsen
2019-07-24 16:34                 ` physiculus
2019-07-24 17:04                   ` Eric Abrahamsen
2019-07-26  5:33                     ` physiculus
2019-07-26 15:35                       ` Eric Abrahamsen
2019-07-26 17:08                         ` physiculus
2019-07-26 17:36                           ` Eric Abrahamsen

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 NNTP newsgroup(s).