Subject: bug#24499: 25.1; Gnus: expiring mail from imap group to an nnml group does not (always) update the target group's .overview file

From: Teemu Likonen <[email-masked]>
Date: Wed, 21 Sep 2016 19:05:59 +0300

Expiring mail from imap group to an nnml group does not (always) update
the target group's .overview file. I've seen this many many times but
maybe not always.

Requirements

  - An nnml group.

  - An imap group with "expiry-target" set to the nnml group and
    expiry-wait set to "immediate".

Recipe

 1. Go to the imap group and select email message.

 2. Mark the mail as expirable with "E"
    (gnus-summary-mark-as-expirable).

 3. Exit the imap group.

 4. Now the message is moved to the nnml group. New message file is
    indeed created to the nnml group's directory but group's .overview
    file is not updated: the file does not have a record for the new
    message. This causes problems sometimes: the message doesn't
    (always) show in summary buffer.

 5. To fix the problem: From Group buffer go to the Server buffer ("^"
    key). Move the cursor to the relevant nnml server line and press "g"
    (gnus-server-regenerate-server). Now .overview files are recreated
    and the previously expired message will have a record in the file.

In GNU Emacs 25.1.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.5)
 of 2016-09-17 built on mithlond
Repository revision: 1229cc4ae640ea1fd9fafbb0bd64e72fc07994f8
Windowing system distributor 'The X.Org Foundation', version 11.0.11604000
System Description:	Debian GNU/Linux 8.6 (jessie)

Configured using:
 'configure --prefix=/home/dtw/.local --with-x-toolkit=gtk3
 --with-xwidgets --with-wide-int'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY
GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XWIDGETS

Important settings:
  value of $LC_MESSAGES: C
  value of $LANG: fi_FI.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  diff-auto-refine-mode: t
  gnus-topic-mode: t
  gnus-undo-mode: t
  ido-everywhere: t
  global-undo-tree-mode: t
  show-paren-mode: t
  winner-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
imap: Plaintext authentication...
imap: Login successful...
imap: Authenticating to ‘mail.kapsi.fi’ using ‘login’...done
Fetching from INBOX...
Reading incoming mail from file...
nnml: Reading incoming mail (no new mail)...done
notmuch new
Reading active file via nnml...done
Checking new news...done
Making completion list...

Load-path shadows:
~/.emacs.d/omat/elisp/loaddefs hides /home/dtw/.local/share/emacs/25.1/lisp/loaddefs

Features:
(shadow emacsbug sendmail tabify org-table org-agenda org-indent
org-element org-rmail org-mhe org-irc org-info org-gnus org-docview
doc-view jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m org
org-macro org-footnote org-pcomplete pcomplete org-list org-faces
org-entities org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob
ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat
org-macs org-loaddefs find-func suomalainen-kalenteri solar cal-dst
holidays hol-loaddefs cal-menu calendar cal-loaddefs vc-git diff-mode
bookmark char-fold misearch multi-isearch sh-script smie executable nnir
conf-mode url-util url-parse url-vars shr-color color shr dom subr-x
flow-fill sort gnus-cite mm-archive mail-extr gnus-async gnus-bcklg
gnus-ml disp-table gnus-topic nndraft nnmh qp imap utf-7 epa-file epa
network-stream nsm auth-source starttls nnml nnmbox nnnil gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu
mml2015 mm-view mml-smime smime dig mailcap nntp gnus-cache
gnus-bogofilter gnus-sum gnus-group gnus-undo gnus-start gnus-cloud
nnimap nnmail mail-source tls gnutls utf7 netrc nnoo parse-time
gnus-spec gnus-int gnus-range message dired format-spec rfc822 mml
mml-sec password-cache epg mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader
gnus-win gnus gnus-ems nnheader gnus-util mail-utils mm-util help-fns
mail-prsvr wid-edit ido undo-tree diff paren winner rx slime-fancy
slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree slime-scratch slime-presentations advice
bridge slime-mdot-fu slime-enclosing-context slime-fuzzy
slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl elp slime-parse slime
derived gud apropos compile etags xref cl-seq project eieio eieio-core
arc-mode archive-mode noutline outline easy-mmode pp comint ansi-color
ring hyperspec cl-macs thingatpt browse-url cl slime-autoloads edmacro
kmacro finder-inf tex-site info package epg-config seq byte-opt gv
bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs
pcase cl-lib server time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian
slovak czech european ethiopic indian cyrillic chinese charscript
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify
dynamic-setting system-font-setting font-render-setting xwidget-internal
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 656977 62686)
 (symbols 48 50647 145)
 (miscs 40 935 1755)
 (strings 32 122684 14119)
 (string-bytes 1 3573390)
 (vectors 16 45273)
 (vector-slots 8 939366 24270)
 (floats 8 1148 506)
 (intervals 56 26890 344)
 (buffers 976 82)
 (heap 1024 157732 10925))
<#secure method=pgpmime mode=sign>