Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
From: Felix Natter <fnatter@gmx.net>
To: Katsumi Yamaoka <yamaoka@jpl.org>
Cc: info-gnus-english@gnu.org
Subject: Re: Sent message still in drafts (lisp error: "Selecting deleted buffer")
Date: Sun, 31 Mar 2013 20:19:34 +0200	[thread overview]
Message-ID: <877gkn8ma1.fsf@bitburger.home.felix> (raw)
In-Reply-To: <b4mli99g0g9.fsf@jpl.org> (Katsumi Yamaoka's message of "Wed, 27 Mar 2013 09:17:58 +0900")

hi Katsumi,

now I have another backtrace (debug-on-error=t, with M-x load-library
nnml.el) with the below fix in place:

Debugger entered--Lisp error: (error "Selecting deleted buffer")
  set-buffer(#<killed buffer>)
  (save-excursion (set-buffer (nnml-open-nov group)) (goto-char (point-max)) (mail-header-set-number headers article) (nnheader-insert-nov headers))
  nnml-add-nov("expired" 14148 [nil "Re: Freeplane Kommandozeilenoptionen" "Felix Natter <fnatter@gmx.net>" "Sun, 31 Mar 2013 20:10:31 +0200" "<877gkntp5e.fsf@totally-fudged-out-message-id>" "<87obe9dgi1.fsf@bitburger.home.felix> <514E1497.4040803@web.de> <514E58BF.5000106@web.de> <87sj3e3yz1.fsf@bitburger.home.felix> <51577FE4.1080704@web.de> <515781A5.20106@web.de>" 2393 72 "bitburger.home.felix expired:14148" ((To . "Volker B\303\266rchers <boercher@web.de>"))])
  (while --cl-dolist-temp-- (setq ga (car --cl-dolist-temp--)) (nnml-add-nov (car ga) (cdr ga) headers) (setq --cl-dolist-temp-- (cdr --cl-dolist-temp--)))
  (let ((--cl-dolist-temp-- group-art) ga) (while --cl-dolist-temp-- (setq ga ...) (nnml-add-nov ... ... headers) (setq --cl-dolist-temp-- ...)) nil)
  (catch (quote --cl-block-nil--) (let (... ga) (while --cl-dolist-temp-- ... ... ...) nil))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let ... ... nil)))
  (block nil (let (... ga) (while --cl-dolist-temp-- ... ... ...) nil))
  (dolist (ga group-art) (nnml-add-nov (car ga) (cdr ga) headers))
  (if nnmail-group-names-not-encoded-p (dolist (ga group-art) (nnml-add-nov ... ... headers)) (dolist (ga group-art) (nnml-add-nov ... ... headers)))
  (let* ((chars ...) (extension ...) decoded dec file first headers) (when nnmail-group-names-not-encoded-p (dolist ... ...) (setq dec decoded)) (nnmail-insert-xref group-art) (run-hooks (quote nnmail-prepare-save-mail-hook)) (run-hooks (quote nnml-prepare-save-mail-hook)) (goto-char (point-min)) (while (looking-at "From ") (replace-match "X-From-Line: ") (forward-line 1)) (dolist (ga group-art) (if nnmail-group-names-not-encoded-p ... ... ...) (if first ... ... ...)) (setq headers (nnml-parse-head chars)) (if nnmail-group-names-not-encoded-p (dolist ... ...) (dolist ... ...)))
  nnml-save-mail((("expired" . 14148)) "")
  (car (nnml-save-mail (list ...) server))
  (setq result (car (nnml-save-mail ... server)))
  (and (nnmail-activate (quote nnml)) (setq result (car ...)) (progn (nnmail-save-active nnml-group-alist nnml-active-file) (and last ...)))
  (if (stringp group) (and (nnmail-activate ...) (setq result ...) (progn ... ...)) (and (nnmail-activate ...) (if ... ... ...) (when last ... ... ...)))
  (let (result) (when nnmail-cache-accepted-message-ids (nnmail-cache-insert ... group ... ...)) (if (stringp group) (and ... ... ...) (and ... ... ...)) result)
  nnml-request-accept-article("expired" "" nil)
  gnus-request-accept-article("nnml:expired" nil nil t)
  nnmail-expiry-target-group("nnml:expired" "drafts")
  nnmh-request-expire-articles((145) "drafts" nil t)
  apply(nnmh-request-expire-articles ((145) "drafts" nil t))
  nnoo-parent-function(nndraft nnmh-request-expire-articles ((145) "drafts" nil t))
  nndraft-request-expire-articles((145) "drafts" nil t)
  message-disassociate-draft()
  message-send(nil)
  message-send-and-exit(nil)
  call-interactively(message-send-and-exit nil nil)

Please tell me if you need additional information.

Thank you very much!

Best Regards,
Felix

Katsumi Yamaoka <yamaoka@jpl.org> writes:
> Felix Natter <fnatter@gmx.net> wrote:
>> Katsumi Yamaoka <yamaoka@jpl.org> writes:
> [...]
>>> I found some other problems on expiring sent drafts to a group.
>>> The principal one is that a draft is not like a normal article:
>>>
>>> ・There is a separator between the header and the body.
>>>   - You can't read its body in an expiry group.
>>>   - Xref herder, etc. are put at the end of the body.
>>> ・Non-ASCII text has not been encoded properly.
>>> ・Attachments do not necessarily exist when re-using it.
>
>> So the problem is that when I send a draft, its content is subject
>> to expiry, and this does not work because a draft is not like
>> a normal article (and with the "G c" below we tell Gnus to delete
>> and not expire sent drafts)?
>
> Maybe that a draft is not a normal article is not a direct cause
> of your problem.  Though I haven't yet investigated why sometimes
> it fails with the message "Selecting deleted buffer".
>
>>> It will cost to improve it.
>
>> What do you mean by "costs to improve it"?
>
> Sorry for my funny English.  I meant that it will take time (IOW,
> cost me time ;-) to improve the Lisp code so as to transform
> a draft message, that is copied or moved to a normal group, to
> a normal article.
>
> [...]
>> Yes, I am doing that:
>> (setq nnmail-expiry-target "nnml:expired")
> [...]
>>> how about setting a group parameter so that only sent drafts
>>> are deleted?
> [...]
>> If that works, then I think it's a good idea to mention this problem
>> in the Gnus documentation?
>
> I have another idea.  That is to make the behavior of expiring of
> drafts be always `delete' no matter what nnmail-expiry-target is.
> It lets you and friends have no need to have such a special group
> parameter.  Ones who want to have a local copy of a sent message
> can use Gcc, that saves it as a normal article.  WDYT?
>

-- 
Felix Natter

_______________________________________________
info-gnus-english mailing list
info-gnus-english@gnu.org
https://lists.gnu.org/mailman/listinfo/info-gnus-english

  parent reply	other threads:[~2013-03-31 18:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.19525.1360518618.855.info-gnus-english@gnu.org>
2013-02-13  0:18 ` Katsumi Yamaoka
2013-03-25 20:41   ` Felix Natter
     [not found]   ` <mailman.22829.1364244138.855.info-gnus-english@gnu.org>
2013-03-26  1:50     ` Katsumi Yamaoka
2013-03-26 19:58       ` Felix Natter
     [not found]       ` <mailman.22889.1364327929.855.info-gnus-english@gnu.org>
2013-03-27  0:17         ` Katsumi Yamaoka
2013-03-27 18:29           ` Felix Natter
     [not found]           ` <mailman.22943.1364408991.855.info-gnus-english@gnu.org>
2013-03-28  1:36             ` Expiring sent drafts does now always `delete' Katsumi Yamaoka
2013-03-31 18:19           ` Felix Natter [this message]
2013-03-31 23:48             ` Sent message still in drafts (lisp error: "Selecting deleted buffer") Katsumi Yamaoka
2013-03-31 23:59               ` Katsumi Yamaoka
2013-04-01  7:31                 ` Felix Natter
     [not found]                 ` <mailman.23203.1364801493.855.info-gnus-english@gnu.org>
2013-04-01  9:44                   ` Katsumi Yamaoka
2013-04-01 12:20                     ` Felix Natter
     [not found]                     ` <mailman.23213.1364818828.855.info-gnus-english@gnu.org>
2013-04-02  1:40                       ` Katsumi Yamaoka
2013-02-10 17:49 Felix Natter

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

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

  git send-email \
    --in-reply-to=877gkn8ma1.fsf@bitburger.home.felix \
    --to=fnatter@gmx.net \
    --cc=info-gnus-english@gnu.org \
    --cc=yamaoka@jpl.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.
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 NNTP newsgroup(s).