[ Shifting this to the development list: [EMAIL PROTECTED]'.
  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/


_______________________________________________
info-gnus-english mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/info-gnus-english

Reply via email to