From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/58560 Path: main.gmane.org!not-for-mail From: Kevin Greiner Newsgroups: gmane.emacs.gnus.general Subject: Re: Gnus losing information about what has been read Date: Thu, 23 Sep 2004 22:52:19 -0500 Sender: ding-owner@lists.math.uh.edu Message-ID: References: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1095998026 18725 80.91.229.6 (24 Sep 2004 03:53:46 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 24 Sep 2004 03:53:46 +0000 (UTC) Original-X-From: ding-owner+M7098@lists.math.uh.edu Fri Sep 24 05:53:32 2004 Return-path: Original-Received: from malifon.math.uh.edu ([129.7.128.13] ident=mail) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CAh9H-0003CA-00 for ; Fri, 24 Sep 2004 05:53:31 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu ident=lists) by malifon.math.uh.edu with smtp (Exim 3.20 #1) id 1CAh8U-00062R-00; Thu, 23 Sep 2004 22:52:42 -0500 Original-Received: from util2.math.uh.edu ([129.7.128.23]) by malifon.math.uh.edu with esmtp (Exim 3.20 #1) id 1CAh8N-00062L-00 for ding@lists.math.uh.edu; Thu, 23 Sep 2004 22:52:35 -0500 Original-Received: from justine.libertine.org ([66.139.78.221] ident=postfix) by util2.math.uh.edu with esmtp (Exim 4.30) id 1CAh8N-0002xD-2q for ding@lists.math.uh.edu; Thu, 23 Sep 2004 22:52:35 -0500 Original-Received: from quimby.gnus.org (quimby.gnus.org [80.91.224.244]) by justine.libertine.org (Postfix) with ESMTP id E28653A003B for ; Thu, 23 Sep 2004 22:52:32 -0500 (CDT) Original-Received: from news by quimby.gnus.org with local (Exim 3.35 #1 (Debian)) id 1CAh8J-0001ZX-00 for ; Fri, 24 Sep 2004 05:52:31 +0200 Original-To: ding@gnus.org Original-Path: not-for-mail Original-Newsgroups: gnus.ding Original-Lines: 54 Original-NNTP-Posting-Host: 198.64.160.238 Original-X-Trace: quimby.gnus.org 1095997951 6043 198.64.160.238 (24 Sep 2004 03:52:31 GMT) Original-X-Complaints-To: usenet@quimby.gnus.org Original-NNTP-Posting-Date: Fri, 24 Sep 2004 03:52:31 +0000 (UTC) User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (windows-nt) Cancel-Lock: sha1:mWTJo4OOYAXyStf2zLyCTnu0OiE= Precedence: bulk Xref: main.gmane.org gmane.emacs.gnus.general:58560 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:58560 Ralf Angeli writes: > * Kevin Greiner (2004-09-23) writes: > >> Ralf Angeli writes: >> >>> I don't know if it is related to your patch, but I get an error after >>> changing to "Unplugged" state, entering a group, reading some articles >>> and trying to leave the group with `q'. Here is the backtrace: > [...] >>> Doing an `M-: (setq nntp-marks-file-name ".marks")' allows me to leave >>> the group again. >> >> It almost certainly is related. I can not reproduce the problem using >> the sequence provided. Can you load the lisp files so that we get a >> better stacktrace? Just do the following before running gnus. >> >> M-x load-librarygnus-int.el >> M-x load-librarygnus-agent.el >> M-x load-librarynntp.el > > Okay, here it is: > > Debugger entered--Lisp error: (wrong-type-argument stringp nil) > expand-file-name(nil "/home/angeli/News/marks/news.individual.net/de/comp/text/tex/") > (let ((file ...)) (if (file-exists-p file) (condition-case err ... ...) (let ... ... ... ... ... ... ...))) > nntp-open-marks("de.comp.text.tex" "news.individual.net") > (if nntp-marks-is-evil nil (nntp-possibly-create-directory group server) (nntp-open-marks group server) (dolist (action actions) (let ... ... ...)) (nntp-save-marks group server)) > (unless nntp-marks-is-evil (nntp-possibly-create-directory group server) (nntp-open-marks group server) (dolist (action actions) (let ... ... ...)) (nntp-save-marks group server)) > nntp-request-set-mark("de.comp.text.tex" (((172736) add (read))) "news.individual.net") > funcall(nntp-request-set-mark "de.comp.text.tex" (((172736) add (read))) "news.individual.net") > (if (not (gnus-check-backend-function ... ...)) action (funcall (gnus-get-function gnus-command-method ...) (gnus-group-real-name group) action (nth 1 gnus-command-method))) > (let* ((gnus-command-method ...) (gnus-agent ...)) (if (not ...) action (funcall ... ... action ...))) > gnus-request-set-mark("nntp+news.individual.net:de.comp.text.tex" (((172736) add (read)))) > gnus-update-read-articles("nntp+news.individual.net:de.comp.text.tex" nil) > gnus-summary-update-info() > gnus-summary-exit() > call-interactively(gnus-summary-exit) > > I noticed that after starting Gnus, an `M-: nntp-marks-file-name RET' > returns ".marks". But after switching to "Unplugged" state with `J j', > the same command returns nil. > I'm trying an entirely different aproach now as it turned out that the nntp implementation required the server to be open for nntp-marks-file-name to be correct. It appears that the agent's synchronization function could actually try to write the flags back to itself. Then, having done so, delete the flags file so that all of the flags were lost. I've added some additional checks. Please give it a try. Kevin