GNU bug report logs -
#18200
Mostly broken gnus-group-mark-article-read
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 18200 in the body.
You can then email your comments to 18200 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bugs <at> gnus.org
:
bug#18200
; Package
gnus
.
(Tue, 05 Aug 2014 18:28:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Carlos Pita <carlosjosepita <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bugs <at> gnus.org
.
(Tue, 05 Aug 2014 18:28:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
In order to get a "conversation view" a la gmail I've configured gnus as
follows:
(setq gnus-gcc-mark-as-read t)
(setq gnus-message-archive-group
(lambda (g)
(unless (string-match ":" g)
(concat "nnimap+gmail:" g))))
nnimap+gmail is my primary method so I check for lacking of ":" in the
group name (only groups for secondary methods contain a ":", at least in
my case). The generated gcc header is correct: say the group is
"facultad/micro2", the gcc will be
"nnimap+gmail:facultad/micro2". That's fine.
But then there are a lot of quirks I'm not sure what to do about. Say I
reply a message in "facultad/micro2" group. My reply is indeed archived
into "facultad/micro2" but in the summary buffer for this group:
1. At first the sent reply is not shown at all.
2. If I press /N, then the reply is shown but as unread.
3. If I press M-g, then the reply is shown read.
In the imap server the behavior is as expected: the reply appears inside
the "facultad/micro2" folder and it's marked read. The problem is
obviously with the refreshing of the gnus views/state itself.
Some tracing doesn't show anything manifestly wrong, but nevertheless I
don't know which function is in charge of refreshing the summary buffer
(if any) or, at least, to locally mark the article as read, so maybe I'm
not providing the best info below:
======================================================================
1 -> (gnus-group-mark-article-read "facultad/micro2" 306)
| 2 -> (gnus-request-set-mark "facultad/micro2" (((306) add (read))))
| 2 <- gnus-request-set-mark: nil
| 2 -> (gnus-mark-article-as-read 306 82)
| 2 <- gnus-mark-article-as-read: t
1 <- gnus-group-mark-article-read: nil
======================================================================
1 -> (gnus-group-mark-article-read "facultad/micro2" 307)
| 2 -> (gnus-request-set-mark "facultad/micro2" (((307) add (read))))
| 2 <- gnus-request-set-mark: nil
| 2 -> (gnus-mark-article-as-read 307 82)
| 2 <- gnus-mark-article-as-read: t
1 <- gnus-group-mark-article-read: nil
I'm more or less capable of elisp programming/debugging so don't
hesitate in asking whatever you need from me to fix this issue. I could
even figure out a solution with the appropriate guidance.
Best regards
--
Carlos
Some additional info:
-----------------------------------------------
(emacs-version)
"GNU Emacs 24.3.92.1 (i686-pc-linux-gnu, GTK+ Version 3.12.2)
of 2014-07-22 on carlos"
(gnus-version)
"Gnus v5.13"
-----------------------------------------------
My .gnus.el:
;;; -*- lexical-binding: t; -*-
;;; me
;
(setq user-mail-address "carlosjosepita <at> gmail.com"
user-full-name "Carlos Pita")
;;; imap
;
(setq gnus-select-method
'(nnimap "gmail"
(nnimap-user "carlosjosepita <at> gmail.com")
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)))
;;; nntp
;
(setq gnus-secondary-select-methods
'((nntp "news.gnus.org")
(nntp "news.gmane.org")))
;;; smtp
;
(setq message-send-mail-function 'smtpmail-send-it
smtpmail-smtp-user "carlosjosepita <at> gmail.com"
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 465
smtpmail-stream-type 'ssl)
;;; gmail tweaks
;
;; automatically expires to remove label (and archive)
(setq nnmail-expiry-wait 'immediate)
;; copy sent message to current group (to get conversations)
(setq gnus-gcc-mark-as-read t)
(setq gnus-message-archive-group
(lambda (g)
(unless (string-match ":" g)
(concat "nnimap+gmail:" g))))
;; move to gmail trash
(add-hook 'gnus-summary-mode-hook
(lambda ()
(define-key gnus-summary-mode-map "D"
(lambda ()
(interactive)
(gnus-summary-move-article nil "nnimap+gmail:[Gmail]/Trash")
(forward-line 1)))))
;;; check new level1 mail
;
(defun my-level1-unread ()
(let* ((groups (mapcar 'car gnus-newsrc-alist))
(unread (mapcar (lambda (g) (when (= (gnus-group-level g) 1)
(gnus-group-unread g)))
groups)))
(apply '+ (delq nil unread))))
(defun my-level1-check ()
(interactive)
(let ((unread-pre (my-level1-unread))
(unread-post (progn (gnus-get-unread-articles 1)
(my-level1-unread))))
(unless (= unread-post unread-pre)
(gnus-group-list-groups)
(switch-to-buffer "*Group*"))))
(global-set-key [f5] 'my-level1-check)
;;; files & buffers
;
(setq gnus-save-newsrc-file nil
gnus-read-newsrc-file nil
gnus-use-dribble-file nil
gnus-startup-file "~/.emacs.d/newsrc"
gnus-save-killed-list nil
message-kill-buffer-on-exit t)
;;; misc
;
(setq mm-discouraged-alternatives '("text/html" "text/richtext")
gnus-group-line-format "%M%S%p%P%5y:%B%(%G%)\n"
gnus-thread-hide-subtree t
auth-source-save-behavior nil)
(require 'google-contacts-message)
-----------------------------------------------
Gnus v5.13
GNU Emacs 24.3.92.1 (i686-pc-linux-gnu, GTK+ Version 3.12.2)
of 2014-07-22 on carlos
200 quimby.gnus.org InterNetNews NNRP server INN 2.5.3 ready (posting ok)
100 Legal commands
ARTICLE [message-ID|number]
AUTHINFO USER name|PASS password|SASL mechanism [initial-response]|GENERIC program [argument ...]
BODY [message-ID|number]
CAPABILITIES [keyword]
DATE
GROUP newsgroup
HDR header [message-ID|range]
HEAD [message-ID|number]
HELP
IHAVE message-ID
LAST
LIST [ACTIVE [wildmat]|ACTIVE.TIMES [wildmat]|COUNTS [wildmat]|DISTRIB.PATS|DISTRIBUTIONS|HEADERS [MSGID|RANGE]|MODERATORS|MOTD|NEWSGROUPS [wildmat]|OVERVIEW.FMT|SUBSCRIPTIONS [wildmat]]
LISTGROUP [newsgroup [range]]
MODE READER
NEWGROUPS [yy]yymmdd hhmmss [GMT]
NEWNEWS wildmat [yy]yymmdd hhmmss [GMT]
NEXT
OVER [range]
POST
QUIT
STARTTLS
STAT [message-ID|number]
XGTITLE [wildmat]
XHDR header [message-ID|range]
XOVER [range]
XPAT header message-ID|range pattern [pattern ...]
Report problems to <usenet <at> quimby.gnus.org>.
.
580 Error initializing TLS
Information forwarded
to
bugs <at> gnus.org
:
bug#18200
; Package
gnus
.
(Tue, 12 Aug 2014 21:55:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 18200 <at> debbugs.gnu.org (full text, mbox):
The problem is that gnus-summary-insert-new-articles assumes every new
active article to be unread:
(setq gnus-newsgroup-unreads
(gnus-sorted-nunion gnus-newsgroup-unreads new))
It seems like a sensible assumption, doesn't it? But sadly it's wrong in
this case, because the sent mail is meant to be already read. It will be
wrong in other cases too, since a "new" message coming from the imap
server, which could be simultaneously accessed by more than one client,
is not necessarily unread.
So currently you have 3 levels of inconsistency:
1) The imap server and M-g "think" the email is read.
2) /N "thinks" the email is unread.
3) The summary buffer (before /N or M-g) "thinks" there is no email.
I believe there is a very easy way to reduce these inconsistencies to
only:
1) The imap server, M-g, /N "think" the email is read.
2) The summary buffer (before /N or M-g) "thinks" there is no email.
Then you can just say that the summary buffer isn't immediately
refreshed, which doesn't feel so bad and is easier to understand and
live with.
The fix (mod unexpected side effects) is:
Notice that gnus-summary-insert-new-articles is calling
gnus-summary-insert-articles, which already calculates the unread list
using gnus-list-of-unread-articles. So it seems to me that removing the
problematic union operation quoted above would be safe since
gnus-summary-insert-articles is already taking care of that.
Added tag(s) patch.
Request was from
Carlos Pita <carlosjosepita <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Mon, 02 Feb 2015 19:48:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bugs <at> gnus.org
:
bug#18200
; Package
gnus
.
(Wed, 25 Jan 2017 18:36:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 18200 <at> debbugs.gnu.org (full text, mbox):
Sorry for the late response; the bug report has been sitting in a part
of the bug tracker that nobody has looked at due to a misunderstanding.
Carlos Pita <carlosjosepita <at> gmail.com> writes:
> 1) The imap server, M-g, /N "think" the email is read.
> 2) The summary buffer (before /N or M-g) "thinks" there is no email.
>
> Then you can just say that the summary buffer isn't immediately
> refreshed, which doesn't feel so bad and is easier to understand and
> live with.
>
> The fix (mod unexpected side effects) is:
The patch was missing from the mail...
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
bug reassigned from package 'gnus' to 'emacs,gnus'.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Wed, 25 Jan 2017 18:36:03 GMT)
Full text and
rfc822 format available.
bug No longer marked as found in versions 5.13.
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Wed, 25 Jan 2017 18:36:03 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
18200 <at> debbugs.gnu.org and Carlos Pita <carlosjosepita <at> gmail.com>
Request was from
Lars Ingebrigtsen <larsi <at> gnus.org>
to
control <at> debbugs.gnu.org
.
(Thu, 12 Apr 2018 21:27:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 11 May 2018 11:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 7 years and 37 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.