Gnus development mailing list
 help / color / mirror / Atom feed
* Huh?  "Trying to require a method that doesn't exist"?
@ 1998-12-23 20:50 Karl Kleinpaste
  1998-12-24  1:12 ` Simon Josefsson
  0 siblings, 1 reply; 3+ messages in thread
From: Karl Kleinpaste @ 1998-12-23 20:50 UTC (permalink / raw)


I've been tasked with trying to set up a (somewhat) generic profile
for new Gnus users, specifically to make a little pre-defined sense of
mail groups' setup.

So I've created a dummy account in which I've placed my own .emacs and
.gnus.el, and stripped the deeper weirdnesses out of them.  I've got
it down to something that's comparatively simple.  M-x gnus RET works
fine, and Gnus is correctly dropping mail from me in "personal.jprc"
without problem.

However, when I start up with M-x gnus-no-server RET, confusion reigns:

Signaling: (error "Trying to require a method that doesn't exist")
  signal(error ("Trying to require a method that doesn't exist"))
  cerror("Trying to require a method that doesn't exist")
  apply(cerror "Trying to require a method that doesn't exist")
  error("Trying to require a method that doesn't exist")
  gnus-server-opened((nil ""))
  gnus-activate-group("nnml:personal.jprc" scan)
  gnus-get-unread-articles(2)
  gnus-setup-news(nil 2 t)
  byte-code("[80 chars removed --kk]" [dont-connect did-connect
	gnus-group-quit gnus-run-hooks gnus-startup-hook gnus-make-newsrc-file
	gnus-startup-file gnus-current-startup-file gnus-slave
	gnus-use-dribble-file gnus-dribble-read-file gnus-use-grouplens
	bbb-login add-hook gnus-summary-mode-hook gnus-grouplens-mode
	gnus-setup-news nil level gnus-setup-news-hook gnus-start-draft-setup
	gnus-group-list-groups gnus-group-first-unread-group
	gnus-configure-windows group gnus-group-set-mode-line
	gnus-started-hook] 4)
  gnus-1(2 t nil)
  gnus(2 t nil)
  gnus-no-server-1(nil nil)
  gnus-no-server(nil)
  call-interactively(gnus-no-server)

After fiddling with edebug for an hour, it dawned on me that someone
had similar complaints not too long ago.  (This is why I keep
nnml:list.ding for 30 days...)

The specific calling sequence which leads to this is:
   gnus-activate-group -> gnus-find-method-for-group -> gnus-server-to-method
The group information obtained certainly appears correct, at first
glance, as reported during edebug of gnus-find-method-for-group:
	("nnml:personal.jprc" 1 ((1 . 1)) nil "nnml:")

However, it's that last element that causes trouble: "nnml:".  I
understand, from the brief flurry of activity surrounding Harry
Putnam's report about this, that this format is new, for some sort of
optimization or simplification purpose.  But it isn't being handled
properly in this case.

For the situation at hand, I did `G E' to get at all group
information, and I edited "nnml:" into (nnml ""), and now it works
fine with both gnus-no-server and gnus.

p0.66.

--karl


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Huh?  "Trying to require a method that doesn't exist"?
  1998-12-23 20:50 Huh? "Trying to require a method that doesn't exist"? Karl Kleinpaste
@ 1998-12-24  1:12 ` Simon Josefsson
  1998-12-25  0:34   ` Karl Kleinpaste
  0 siblings, 1 reply; 3+ messages in thread
From: Simon Josefsson @ 1998-12-24  1:12 UTC (permalink / raw)
  Cc: ding

Karl Kleinpaste <karl@justresearch.com> writes:

> The specific calling sequence which leads to this is:
>    gnus-activate-group -> gnus-find-method-for-group -> gnus-server-to-method
> The group information obtained certainly appears correct, at first
> glance, as reported during edebug of gnus-find-method-for-group:
> 	("nnml:personal.jprc" 1 ((1 . 1)) nil "nnml:")

Yup, `gnus-server-to-method' fail to map a virtual server name to a
method if the server hasn't been opened (which typically would be the
case if you do `gnus-no-server'). Could you try this patch?

(Another fix would be to revert my patch in 0.52, but then you'd have
to fix `u' in the browse server buffer. And you also wouldn't have the
feature of being able to edit your `gnus-secondary-select-methods' and
have the new setting take effect on your old folders.)

--- lisp/gnus.el-	Thu Dec 24 01:22:38 1998
+++ lisp/gnus.el	Thu Dec 24 02:42:13 1998
@@ -2365,7 +2365,14 @@
 		 (not (equal server (format "%s:%s" (caaar opened)
 					    (cadaar opened)))))
        (pop opened))
-     (caar opened))))
+     (caar opened))
+   ;; It could be a named method, search all servers
+   (let ((servers gnus-secondary-select-methods))
+     (while (and servers
+		 (not (equal server (format "%s:%s" (caar servers)
+					    (cadar servers)))))
+       (pop servers))
+     (car servers))))
 
 (defmacro gnus-method-equal (ss1 ss2)
   "Say whether two servers are equal."




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Huh?  "Trying to require a method that doesn't exist"?
  1998-12-24  1:12 ` Simon Josefsson
@ 1998-12-25  0:34   ` Karl Kleinpaste
  0 siblings, 0 replies; 3+ messages in thread
From: Karl Kleinpaste @ 1998-12-25  0:34 UTC (permalink / raw)


Simon Josefsson <jas@pdc.kth.se> writes:
> Yup, `gnus-server-to-method' fail to map a virtual server name to a
> method if the server hasn't been opened (which typically would be the
> case if you do `gnus-no-server'). Could you try this patch?

That seems to work fine, with both gnus and gnus-no-server, with the
method set as either "nnml:" or (nnml ""); many thanx.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1998-12-25  0:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-12-23 20:50 Huh? "Trying to require a method that doesn't exist"? Karl Kleinpaste
1998-12-24  1:12 ` Simon Josefsson
1998-12-25  0:34   ` Karl Kleinpaste

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).