diff options
author | Philip Kaludercic <philipk@posteo.net> | 2021-09-15 10:58:50 +0200 |
---|---|---|
committer | Philip Kaludercic <philipk@posteo.net> | 2021-09-23 20:54:40 +0200 |
commit | 387af85c4d51dd98267f296bc91cf22d7ecc5374 (patch) | |
tree | e315f552474f31ad8a7dbd647efb5fa3dbe8bf95 /lisp/gnus/nnmaildir.el | |
parent | e646cb4e7a46132a7717a94fe3632ecb03f080fc (diff) | |
download | emacs-387af85c4d51dd98267f296bc91cf22d7ecc5374.tar.gz |
Handle updates flags when setting flags
* nnmaildir.el (nnmaildir--article-set-flags): Handle updated flags
more gracefully
Diffstat (limited to 'lisp/gnus/nnmaildir.el')
-rw-r--r-- | lisp/gnus/nnmaildir.el | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/gnus/nnmaildir.el b/lisp/gnus/nnmaildir.el index 171f0813b38..690761a2d6c 100644 --- a/lisp/gnus/nnmaildir.el +++ b/lisp/gnus/nnmaildir.el @@ -194,7 +194,15 @@ This variable is set by `nnmaildir-request-article'.") (article-file (concat curdir prefix suffix)) (new-name (concat curdir prefix new-suffix))) (unless (file-exists-p article-file) - (error "Couldn't find article file %s" article-file)) + (let ((possible (file-expand-wildcards (concat curdir prefix "*")))) + (cond ((length= possible 1) + (unless (string-match-p "\\`\\(.+\\):2,.*?\\'" (car possible)) + (error "Couldn't find updated article file %s" article-file)) + (setq article-file (car possible))) + ((length> possible 1) + (error "Couldn't determine exact article file %s" article-file)) + ((null possible) + (error "Couldn't find article file %s" article-file))))) (rename-file article-file new-name 'replace) (setf (nnmaildir--art-suffix article) new-suffix))) |