From: Andreas Seltenreich <andreas+ding@gate450.dyndns.org>
To: ding@gnus.org
Cc: xavier@maillard.mobi, xma@gnu.org
Subject: Re: gnus-subscribe-topics
Date: Mon, 23 Feb 2009 01:29:16 +0100 [thread overview]
Message-ID: <8763j2uhb7.fsf@gate450.dyndns.org> (raw)
In-Reply-To: <87fxjymztn.fsf@gnu.org> (Xavier Maillard's message of "Mon, 05 Jan 2009 00:11:32 +0100")
[-- Attachment #1: Type: text/plain, Size: 1504 bytes --]
Xavier Maillard writes:
> Reiner Steib <reinersteib+gmane@imap.cc> writes:
>
>> ,----[ (info "(gnus)Subscription Methods") ]
>> | What Gnus does when it encounters a new group is determined by the
>> | `gnus-subscribe-newsgroup-method' variable.
>> `----
>>
>> "when it encounters a new group" is not the case in your situation.
>> This variable is relevant only if a new newsgroup is created on the
>> server.
>
> Can't this behaviour be changed for any group (new or existing
> but never subscribed) ? What is the workaround ? Currently, I did
> not subcribe to any nnimap groups (I have 4 dozens of them
> pending) since I do not want to manually fill them under the
> right topic.
I've modified my copy of Gnus to use gnus-subscribe-newsgroup-method
when subscribing from a Browse Server buffer a long time ago. I didn't
propose to include this patch though because the default value of
g-s-n-m is rather inappropriate for explicitly subscribing groups.
Attached is a version that introduces a
gnus-browse-subscribe-newsgroup-method variable instead. OK to commit
to No Gnus? I vaguely remeber some discussion about a feature freeze
(Reiner?).
>>> P.S: please keep me in the Cc as I am not subscribed to this list yet.
>>
>> Hint: Gnus honors Mail-Followup-To. :-)
>
> Done (hope it is correct).
The comma looks like a typo to me. You can avoid this by letting
Message Mode generate the header. C-c C-f C-a runs the command
message-generate-unsubscribed-mail-followup-to.
regards,
andreas
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: gnus-srvr.diff --]
[-- Type: text/x-diff, Size: 3984 bytes --]
Index: gnus-srvr.el
===================================================================
RCS file: /usr/local/cvsroot/gnus/lisp/gnus-srvr.el,v
retrieving revision 7.36
diff -c -r7.36 gnus-srvr.el
*** gnus-srvr.el 22 Jan 2009 07:02:16 -0000 7.36
--- gnus-srvr.el 23 Feb 2009 00:09:45 -0000
***************
*** 635,640 ****
--- 635,663 ----
;;; Browse Server Mode
;;;
+ (defcustom gnus-browse-subscribe-newsgroup-method
+ 'gnus-subscribe-alphabetically
+ "Function(s) called when subscribing groups in the Browse Server Buffer
+ A few pre-made functions are supplied: `gnus-subscribe-randomly'
+ inserts new groups at the beginning of the list of groups;
+ `gnus-subscribe-alphabetically' inserts new groups in strict
+ alphabetic order; `gnus-subscribe-hierarchically' inserts new groups
+ in hierarchical newsgroup order; `gnus-subscribe-interactively' asks
+ for your decision; `gnus-subscribe-killed' kills all new groups;
+ `gnus-subscribe-zombies' will make all new groups into zombies;
+ `gnus-subscribe-topics' will enter groups into the topics that
+ claim them."
+ :group 'gnus-server
+ :type '(radio (function-item gnus-subscribe-randomly)
+ (function-item gnus-subscribe-alphabetically)
+ (function-item gnus-subscribe-hierarchically)
+ (function-item gnus-subscribe-interactively)
+ (function-item gnus-subscribe-killed)
+ (function-item gnus-subscribe-zombies)
+ (function-item gnus-subscribe-topics)
+ function
+ (repeat function)))
+
(defvar gnus-browse-menu-hook nil
"*Hook run after the creation of the browse mode menu.")
***************
*** 885,891 ****
(gnus-browse-next-group (- n)))
(defun gnus-browse-unsubscribe-current-group (arg)
! "(Un)subscribe to the next ARG groups."
(interactive "p")
(when (eobp)
(error "No group at current line"))
--- 908,916 ----
(gnus-browse-next-group (- n)))
(defun gnus-browse-unsubscribe-current-group (arg)
! "(Un)subscribe to the next ARG groups.
! The variable `gnus-browse-subscribe-newsgroup-method' determines
! how new groups will be entered into the group buffer."
(interactive "p")
(when (eobp)
(error "No group at current line"))
***************
*** 934,955 ****
;; subscribe to it.
(if (gnus-ephemeral-group-p group)
(gnus-kill-ephemeral-group group))
! ;; We need to discern between killed/zombie groups and
! ;; just unsubscribed ones.
! (gnus-group-change-level
! (or (gnus-group-entry group)
! (list t group gnus-level-default-subscribed
! nil nil (if (gnus-server-equal
! gnus-browse-current-method "native")
! nil
! (gnus-method-simplify
! gnus-browse-current-method))))
! gnus-level-default-subscribed (gnus-group-level group)
! (and (car (nth 1 gnus-newsrc-alist))
! (gnus-group-entry (car (nth 1 gnus-newsrc-alist))))
! (null (gnus-group-entry group)))
(delete-char 1)
! (insert ? ))
(gnus-group-change-level
group gnus-level-unsubscribed gnus-level-default-subscribed)
(delete-char 1)
--- 959,982 ----
;; subscribe to it.
(if (gnus-ephemeral-group-p group)
(gnus-kill-ephemeral-group group))
! (let ((entry (gnus-group-entry group)))
! (if entry
! ;; Just change the subscription level if it is an
! ;; unsubscribed group.
! (gnus-group-change-level entry
! gnus-level-default-subscribed)
! ;; If it is a killed group or a zombie, feed it to the
! ;; mechanism for new group subscription.
! (gnus-call-subscribe-functions
! gnus-browse-subscribe-newsgroup-method
! group)))
(delete-char 1)
! (insert (let ((lvl (gnus-group-level group)))
! (cond
! ((< lvl gnus-level-unsubscribed) ? )
! ((< lvl gnus-level-zombie) ?U)
! ((< lvl gnus-level-killed) ?Z)
! (t ?K)))))
(gnus-group-change-level
group gnus-level-unsubscribed gnus-level-default-subscribed)
(delete-char 1)
next prev parent reply other threads:[~2009-02-23 0:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-04 21:41 gnus-subscribe-topics Xavier Maillard
2009-01-04 22:29 ` gnus-subscribe-topics Reiner Steib
2009-01-04 23:11 ` gnus-subscribe-topics Xavier Maillard
2009-02-23 0:29 ` Andreas Seltenreich [this message]
2010-09-26 2:19 ` gnus-subscribe-topics Andreas Seltenreich
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=8763j2uhb7.fsf@gate450.dyndns.org \
--to=andreas+ding@gate450.dyndns.org \
--cc=ding@gnus.org \
--cc=xavier@maillard.mobi \
--cc=xma@gnu.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).