* sorting: wrong number of arguments
@ 2011-01-13 15:46 Peter Münster
2011-01-22 3:44 ` Lars Ingebrigtsen
0 siblings, 1 reply; 10+ messages in thread
From: Peter Münster @ 2011-01-13 15:46 UTC (permalink / raw)
To: ding
Hello,
How could I sort the group buffer automatically when updating?
This:
(add-hook 'gnus-group-update-hook 'gnus-group-sort-groups)
results in an error:
Warning (initialization): An error occurred while loading
`/home/peter/.emacs':
Wrong number of arguments: #[(func &optional reverse) 303 !
"\210\304 \210\305 \210\306 \207 [gnus-group-sort-alist-function func
reverse gnus-make-sort-function gnus-group-unmark-all-groups
gnus-group-list-groups gnus-dribble-touch] 3
(/home/peter/todo/gnus/lisp/gnus-group.elc . 107955) (list
gnus-group-sort-function current-prefix-arg)], 0
TIA for any help,
--
Peter Münster
Contact information: http://pmrb.free.fr/contact/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-13 15:46 sorting: wrong number of arguments Peter Münster
@ 2011-01-22 3:44 ` Lars Ingebrigtsen
2011-01-22 8:22 ` Peter Münster
0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2011-01-22 3:44 UTC (permalink / raw)
To: ding
pmlists@free.fr (Peter Münster) writes:
> This:
> (add-hook 'gnus-group-update-hook 'gnus-group-sort-groups)
That function takes the real sorting function as a parameter.
So it should be something like
(add-hook 'gnus-group-update-hook
(lambda ()
(gnus-group-sort-groups 'gnus-group-sort-by-alphabet)))
or whatever.
--
(domestic pets only, the antidote for overdose, milk.)
larsi@gnus.org * Lars Magne Ingebrigtsen
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-22 3:44 ` Lars Ingebrigtsen
@ 2011-01-22 8:22 ` Peter Münster
2011-01-22 18:09 ` Lars Ingebrigtsen
0 siblings, 1 reply; 10+ messages in thread
From: Peter Münster @ 2011-01-22 8:22 UTC (permalink / raw)
To: ding
Lars Ingebrigtsen <larsi@gnus.org> writes:
> pmlists@free.fr (Peter Münster) writes:
>
>> This:
>> (add-hook 'gnus-group-update-hook 'gnus-group-sort-groups)
>
> That function takes the real sorting function as a parameter.
>
> So it should be something like
>
> (add-hook 'gnus-group-update-hook
> (lambda ()
> (gnus-group-sort-groups 'gnus-group-sort-by-alphabet)))
Thanks! I didn't see, that gnus-group-sort-function is only used
interactively...
How can I tell gnus-group-sort-groups to use gnus-group-sort-function
(which is a list of functions in my case) even in the update-hook?
(Unfortunately I haven't learned lisp yet... :(
--
Peter Münster
Contact information: http://pmrb.free.fr/contact/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-22 8:22 ` Peter Münster
@ 2011-01-22 18:09 ` Lars Ingebrigtsen
2011-01-22 18:32 ` Peter Münster
0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2011-01-22 18:09 UTC (permalink / raw)
To: ding
>> (add-hook 'gnus-group-update-hook
>> (lambda ()
>> (gnus-group-sort-groups 'gnus-group-sort-by-alphabet)))
>
> Thanks! I didn't see, that gnus-group-sort-function is only used
> interactively...
>
> How can I tell gnus-group-sort-groups to use gnus-group-sort-function
> (which is a list of functions in my case) even in the update-hook?
(add-hook 'gnus-group-update-hook
(lambda ()
(gnus-group-sort-groups gnus-group-sort-function)))
--
(domestic pets only, the antidote for overdose, milk.)
larsi@gnus.org * Lars Magne Ingebrigtsen
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-22 18:09 ` Lars Ingebrigtsen
@ 2011-01-22 18:32 ` Peter Münster
2011-01-22 18:47 ` Lars Ingebrigtsen
0 siblings, 1 reply; 10+ messages in thread
From: Peter Münster @ 2011-01-22 18:32 UTC (permalink / raw)
To: ding
Lars Ingebrigtsen <larsi@gnus.org> writes:
>> How can I tell gnus-group-sort-groups to use gnus-group-sort-function
>> (which is a list of functions in my case) even in the update-hook?
>
> (add-hook 'gnus-group-update-hook
> (lambda ()
> (gnus-group-sort-groups gnus-group-sort-function)))
That's what I'd tried, but:
"error: Variable binding depth exceeds max-specpdl-size"
My setup:
(setq gnus-group-sort-function
'(gnus-group-sort-by-real-name (not gnus-group-sort-by-unread)
gnus-group-sort-by-method))
--
Peter Münster
Contact information: http://pmrb.free.fr/contact/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-22 18:32 ` Peter Münster
@ 2011-01-22 18:47 ` Lars Ingebrigtsen
2011-01-22 20:35 ` Peter Münster
0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2011-01-22 18:47 UTC (permalink / raw)
To: ding
pmlists@free.fr (Peter Münster) writes:
> That's what I'd tried, but:
> "error: Variable binding depth exceeds max-specpdl-size"
Try setting debug-on-error and see where it infloops.
--
(domestic pets only, the antidote for overdose, milk.)
larsi@gnus.org * Lars Magne Ingebrigtsen
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-22 18:47 ` Lars Ingebrigtsen
@ 2011-01-22 20:35 ` Peter Münster
2011-01-22 20:37 ` Lars Ingebrigtsen
0 siblings, 1 reply; 10+ messages in thread
From: Peter Münster @ 2011-01-22 20:35 UTC (permalink / raw)
To: ding
Lars Ingebrigtsen <larsi@gnus.org> writes:
> pmlists@free.fr (Peter Münster) writes:
>
>> That's what I'd tried, but:
>> "error: Variable binding depth exceeds max-specpdl-size"
>
> Try setting debug-on-error and see where it infloops.
This seems to be the important part of the backtrace:
--8<---------------cut here---------------start------------->8---
display-warning(bytecomp "Variable binding depth exceeds
max-specpdl-size" :error "*Compile-Log*")
byte-compile-log-warning("Variable binding depth exceeds
max-specpdl-size" nil :error)
byte-compile-report-error((error "Variable binding depth exceeds
max-specpdl-size"))
byte-compile((lambda (t1 t2) (or (gnus-group-sort-by-method t1 t2)
(and ... ...))))
gnus-byte-compile((lambda (t1 t2) (or (gnus-group-sort-by-method t1
t2) (and ... ...))))
gnus-make-sort-function((gnus-group-sort-by-real-name (not
gnus-group-sort-by-unread) gnus-group-sort-by-method))
gnus-group-sort-groups((gnus-group-sort-by-real-name (not
gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
--8<---------------cut here---------------end--------------->8---
(the whole backtrace is 152 lines)
--
Peter Münster
Contact information: http://pmrb.free.fr/contact/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-22 20:35 ` Peter Münster
@ 2011-01-22 20:37 ` Lars Ingebrigtsen
2011-01-22 20:48 ` Peter Münster
0 siblings, 1 reply; 10+ messages in thread
From: Lars Ingebrigtsen @ 2011-01-22 20:37 UTC (permalink / raw)
To: ding
pmlists@free.fr (Peter Münster) writes:
> (the whole backtrace is 152 lines)
Please post the entire backtrace.
--
(domestic pets only, the antidote for overdose, milk.)
larsi@gnus.org * Lars Magne Ingebrigtsen
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-22 20:37 ` Lars Ingebrigtsen
@ 2011-01-22 20:48 ` Peter Münster
2011-01-22 20:52 ` Lars Ingebrigtsen
0 siblings, 1 reply; 10+ messages in thread
From: Peter Münster @ 2011-01-22 20:48 UTC (permalink / raw)
To: ding
Lars Ingebrigtsen <larsi@gnus.org> writes:
> pmlists@free.fr (Peter Münster) writes:
>
>> (the whole backtrace is 152 lines)
>
> Please post the entire backtrace.
All right:
--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (error "Variable binding depth exceeds max-specpdl-size")
file-truename("/usr/share" (95) (nil))
file-truename("/usr/share/emacs" (95) (nil))
file-truename("/usr/share/emacs/23.1" (95) (nil))
file-truename("/usr/share/emacs/23.1/lisp" (95) (nil))
file-truename("/usr/share/emacs/23.1/lisp/emacs-lisp" (95) (nil))
file-truename("/usr/share/emacs/23.1/lisp/emacs-lisp/warnings.elc")
display-warning(bytecomp "Variable binding depth exceeds max-specpdl-size" :error "*Compile-Log*")
byte-compile-log-warning("Variable binding depth exceeds max-specpdl-size" nil :error)
byte-compile-report-error((error "Variable binding depth exceeds max-specpdl-size"))
byte-compile((lambda (t1 t2) (or (gnus-group-sort-by-method t1 t2) (and ... ...))))
gnus-byte-compile((lambda (t1 t2) (or (gnus-group-sort-by-method t1 t2) (and ... ...))))
gnus-make-sort-function((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups()
gnus-group-sort-groups((gnus-group-sort-by-real-name (not gnus-group-sort-by-unread) gnus-group-sort-by-method))
(lambda nil (gnus-group-sort-groups gnus-group-sort-function))()
run-hooks(gnus-group-update-hook)
apply(run-hooks gnus-group-update-hook)
gnus-run-hooks(gnus-group-update-hook)
gnus-group-insert-group-line("abi91" 3 ((seen (1 . 8)) (expire 7)) 0 nil)
gnus-group-prepare-flat(5 nil nil)
gnus-group-list-groups(nil)
gnus-group-get-new-news(nil)
call-interactively(gnus-group-get-new-news nil nil)
--8<---------------cut here---------------end--------------->8---
--
Peter Münster
Contact information: http://pmrb.free.fr/contact/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: sorting: wrong number of arguments
2011-01-22 20:48 ` Peter Münster
@ 2011-01-22 20:52 ` Lars Ingebrigtsen
0 siblings, 0 replies; 10+ messages in thread
From: Lars Ingebrigtsen @ 2011-01-22 20:52 UTC (permalink / raw)
To: ding
The problem here is that gnus-group-update-hook is called from
-list-groups, and -sort-groups calls -list-groups, so it recurses
endlessly.
So you have to do it from a different hook. For instance,
`gnus-after-getting-new-news-hook'.
--
(domestic pets only, the antidote for overdose, milk.)
larsi@gnus.org * Lars Magne Ingebrigtsen
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2011-01-22 20:52 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-13 15:46 sorting: wrong number of arguments Peter Münster
2011-01-22 3:44 ` Lars Ingebrigtsen
2011-01-22 8:22 ` Peter Münster
2011-01-22 18:09 ` Lars Ingebrigtsen
2011-01-22 18:32 ` Peter Münster
2011-01-22 18:47 ` Lars Ingebrigtsen
2011-01-22 20:35 ` Peter Münster
2011-01-22 20:37 ` Lars Ingebrigtsen
2011-01-22 20:48 ` Peter Münster
2011-01-22 20:52 ` Lars Ingebrigtsen
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).