Gnus development mailing list
 help / color / mirror / Atom feed
From: posting-list@MailAndNews.com (Jari Aalto+mail.emacs)
Subject: Re: draft group problem (Gnus 5.8.3)
Date: 04 Feb 2000 01:17:45 +0200	[thread overview]
Message-ID: <wkn1ph510m.fsf@blue.sea.net> (raw)
In-Reply-To: "Kjetil=?iso-8859-1?q?_=D8degaard?="'s message of "03 Feb 2000 18:10:03 +0100"

* 2000-02-03 Kjetil Ødegaard <kjetilod@orakel.ntnu.no> list.emacs-ding
* Message-Id: <jevwvomp5zo.fsf@apollo.orakel.ntnu.no>
| * Anders Melchiorsen
| [
| | "Kjetil Ødegaard" <kjetilod@orakel.ntnu.no> wrote:
| | 
| | > I just upgraded my Gnus from 5.8.2 to 5.8.3 and now I can't seem to
| | > enter my `drafts' group anymore.  Emacs says "Couldn't request group
| | > nndraft:drafts: Opened server  using directory ~/News/drafts/".  I've
| | > checked, and ~/News/drafts/ contains a `drafts' directory.
| | 
| | Not much help, but I can report that I have the exact same problem
| | (also with 5.8.3).

I have had that problem since pgnus days and I never understood what was wrong.
It turned out that for some unknown reason the nndaft-request-group function
was defined as 'ignore.

So I wrote this code and draft has been working since. Could anybody investigate
better why it get's that ignore function definition? Or at least make a 
double check somewhere that the function definition is not 'ignore  when 
enetring dtarfts.

The trace chart where "Can't select group" appears has been appended below.


jari

;;; ----------------------------------------------------------------------
;;; See nnoo.el::nno-import-1 and nndraft.el
;;;
(defun my-gnus-nndraft-fix  ()
  "Bug in my gnus that prevent accessing nndraft.
Define function `nndaft-request-group'."
  (interactive)
  (let* ((function          'nndraft-request-group)
         (call-function     'nnoo-parent-function)
         (backend           'nndraft)
         (this-function     'nnmh-request-group)
         )

    ;; nndraft.el
    ;; (defvoo nndraft-directory (nnheader-concat gnus-directory "drafts/"))

    (unless (stringp nndraft-directory)
      (setq nndraft-directory (nnheader-concat gnus-directory "drafts/")))

    (eval `(deffoo ,function (&rest args)
             (,call-function ',backend ',this-function args)))
    ))

;;; ----------------------------------------------------------------------
;;;
(defadvice gnus-topic-read-group (before my-gnus-fix-nndraft act)
  "Fix broken nndraft."
  (let* ((fid   "gnus-topic-read-group")
         (arg  (ad-get-arg 0))

         ;; See also (gnus-group-group-name)

         (groups (gnus-group-process-prefix nil))
         (group  (car groups))
         unread-arts
         )

    (when (and group
               (string-match "nndraft" group))
      (gnus-topic-get-new-news-this-topic)
      (when (eq 'ignore (symbol-function 'nndraft-request-group))
        (my-gnus-nndraft-fix))
      )))


;;; ----------------------------------------------------------------------
;;;
;;; (gnus-topic-read-group &optional ALL NO-ARTICLE GROUP)
;;; Disabled, old version
;;;
;;; gnus-topic-read-group
;;;  gnus-group-read-group
;;;   gnus-summary-read-group
;;;
;;;     gnus-summary-read-group-1  ;; ONLY NOW BEGINS TO HAPPEN
;;;
;;;       gnus-select-newsgroup  (return non-nil if group present)
;;;        (gnus-select-newsgroup '("nndraft:drafts") t nil) :: gnus-sum.el
;;;           gnus-activate-group :: gnus-start.el
;;;              gnus-request-group :: gnus-int.el
;;;
;;;                 nnagent-request-group --> nnoo-parent-function -->
;;;                                           nnml-request-group
;;;                    ;; nnagent-directory"~/News/agent/nntp/uutiset.saunalahti.fi/"
;;;                    ;; nnagent-active-file"~/News/agent/nntp/uutiset.saunalahti.fi/agent.lib/active"
;;;                 (lambda (&rest args)
;;;                    (nnoo-parent-function 'nnagent
;;;                       'nnml-request-group args))
;;;
;;;          (gnus-get-function '(nndraft "") 'request-group)
;;;          (gnus-request-group "nndraft:drafts" t)
;;;          (gnus-select-newsgroup "nndraft:drafts" t)
;;;            (gnus-request-group "nndraft:drafts")  gnus-int.el
;;;          --> Can't select group
;;;
;;;
;;;          nndraft-request-group
;;;            (nnmh-request-group "drafts" "" t)
;;;
;;;     (defun nndraft-request-group (&rest args)
;;;        (nnoo-parent-function 'nndraft
;;;                     'nnmh-request-group args))
;;;




      reply	other threads:[~2000-02-03 23:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-01 17:05 Kjetil Ødegaard
2000-02-03 16:34 ` Anders Melchiorsen
2000-02-03 17:10   ` Kjetil Ødegaard
2000-02-03 23:17     ` Jari Aalto+mail.emacs [this message]

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=wkn1ph510m.fsf@blue.sea.net \
    --to=posting-list@mailandnews.com \
    /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).