unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: 20319@debbugs.gnu.org, Alain Schneble <a.s@realize.ch>
Subject: bug#20319: nnoo.el not properly restoring back end server state
Date: Sat, 28 Sep 2019 18:10:18 -0700	[thread overview]
Message-ID: <87d0fj9abp.fsf@ericabrahamsen.net> (raw)
In-Reply-To: <87y2yazjan.fsf@gnus.org> (Lars Ingebrigtsen's message of "Fri, 27 Sep 2019 02:15:12 +0200")

Lars Ingebrigtsen <larsi@gnus.org> writes:

> Alain Schneble <a.s@realize.ch> writes:
>
>> Hi,
>>
>> nnoo.el does not properly restore back end server state from
>> nnoo-state-alist after closing one server (say server A) and reopening
>> another (say server B), given that both servers use the same back end
>> (server method). Cached state of server B won't be restored at all in
>> this case.
>>
>> Steps to reproduce:
>>
>> 1. M-x gnus-other-frame
>> 2. M-x gnus-group-enter-server-mode
>> 3. For each server: M-x gnus-server-close-server
>> 4. Repeat twice, once with [server] = A and once with [server] = B:
>>    a) M-x gnus-server-add-server
>>    b) nntp
>>    c) [server]
>>    d) M-x gnus-server-edit-server
>>    e) Adapt shown elisp form to:
>>       (nntp "[server]" (nntp-address "news.gnus.org"))
>>    f) C-c C-c
>> 5. On server A: M-x gnus-server-open-server
>> 6. On server B: M-x gnus-server-open-server
>> 7. On server A: M-x gnus-server-close-server
>
> [...]
>
>> Also, I do not understand why nil server's data is stored (re-pushed)
>> onto the nnoo-state-alist by nnoo-push-server at all.  My understanding
>> is that nil server's data shall be immutable once it's been initialized.
>
> I've done some tracing here, and I think that possibly the problem here
> is that nn*-close-server is called with incomplete data: It's only
> called with the server name, and not with the actual address.
>
> I've now changed this in the interface function in Emacs 27, and things
> look more regular now, but the recipe here to reproduce was a bit
> ... long, so I'm not 100% sure.
>
> Would it be possible to upgrade and check?

Looks like nndraft-close-server also needs to be updated, but I guess
it's dynamically generated (?) and I don't know where. Trying to close
the draft server gives:

gnus-close-server: Wrong number of arguments: (lambda (&optional server)
(nnoo-close-server 'nndraft server)), 2

Thanks,
Eric





  reply	other threads:[~2019-09-29  1:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <86r3rng4gy.fsf@realize.ch>
     [not found] ` <877f5hzotn.fsf@gnus.org>
2017-01-26 19:55   ` bug#20319: nnoo.el not properly restoring back end server state Alain Schneble
2018-04-12 21:11     ` Lars Ingebrigtsen
2019-09-27  0:15 ` Lars Ingebrigtsen
2019-09-29  1:10   ` Eric Abrahamsen [this message]
2019-09-29 10:39     ` Lars Ingebrigtsen
2019-10-14  7:29   ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d0fj9abp.fsf@ericabrahamsen.net \
    --to=eric@ericabrahamsen.net \
    --cc=20319@debbugs.gnu.org \
    --cc=a.s@realize.ch \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).