Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
From: Reiner Steib <reinersteib+gmane@imap.cc>
To: Walt Buehring <wjb100@iono.com>, <ding@gnus.org>
Cc: info-gnus-english@gnu.org
Subject: Re: new func: gnus-group-list-more-groups
Date: Thu, 14 Feb 2008 20:49:08 +0100	[thread overview]
Message-ID: <v9r6fffhe3.fsf@marauder.physik.uni-ulm.de> (raw)
In-Reply-To: <u4pcw4h8u.fsf@iono.com> (Walt Buehring's message of "Tue, 29 Jan 2008 18:30:18 GMT")

[ Shifting this to the development list: `ding@gnus.org'.
  Mail-Followup-To set. ]

On Tue, Jan 29 2008, Walt Buehring wrote:

> Been making more use of group levels lately and thought it would be
> awfully nice if "L" (normally gnus-group-list-all-groups) would
> instead progressively increase the listing level in steps.  

It should be a separate command, I think.

> That is, determine the currently listed level and bump it to display
> more.
>
> Below is a poor implementation of the idea (with level bumps hardcoded
> in a case stmt).  

I need to clarify if your disclaimer (for changes to Emacs) is
sufficient to install these changes.

> As a side benefit it also raises the activation level once
> gnus-activate-level is exceeded - which is nice.(?)
>
> -W
>
> (defun gnus-group-list-more-groups (&optional arg)
>   "Progressively list additional groups at increasing levels.
> With arg, only list groups with level ARG or lower."
>   (interactive "P")
>   (if arg
>       (gnus-group-list-groups arg t)

I don't think it's useful to duplicate `gnus-group-list-groups' here.

>     ;; determine the max level group currently displayed
>     (let ((maxlevel 0)
> 	  glevel newlevel)
>       (save-excursion
> 	(goto-char (point-min))
> 	(while (not (eobp))
> 	  (setq glevel (or (get-text-property (point) 'gnus-level) 0)
> 		maxlevel (max glevel maxlevel))
> 	  (forward-line 1)))
>       ;; choose next level in progression
>       (setq newlevel (case maxlevel
> 		       (2 3)
> 		       (3 5)
> 		       (5 6)
> 		       (t 9)))

I'd simply use `(1+ maxlevel)' unless maxlevel is >= `gnus-level-killed'.

>       ;; activate at new level if appropriate
>       (when (> newlevel gnus-activate-level)
> 	(let ((gnus-activate-level newlevel)
> 	      (gnus-activate-foreign-newsgroups newlevel))
> 		(gnus-group-get-new-news newlevel)))

Instead, the prefix arg could be `activate', i.e. only call
`gnus-activate-foreign-newsgroups' when `activate' is non-nil.

>       (gnus-group-list-groups newlevel t))))

Bye, Reiner.
-- 
       ,,,
      (o o)
---ooO-(_)-Ooo---  |  PGP key available  |  http://rsteib.home.pages.de/

      reply	other threads:[~2008-02-14 19:49 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-29 18:30 Walt Buehring
2008-02-14 19:49 ` Reiner Steib [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=v9r6fffhe3.fsf@marauder.physik.uni-ulm.de \
    --to=reinersteib+gmane@imap.cc \
    --cc=Reiner.Steib@gmx.de \
    --cc=ding@gnus.org \
    --cc=info-gnus-english@gnu.org \
    --cc=wjb100@iono.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).