Kevin Rodgers writes: > Michaėl Cadilhac wrote: >> I've a problem I can't solve in a clean way, here. >> >> I want that when `gnus-group-jump-to-group' is called, its >> completing-read (PC enabled) uses `:' as PC-word-delimiters. >> > > Does this work? > > (defadvice gnus-group-jump-to-group (before PC-word-delimiters activate) > "Temporarily bind `PC-word-delimiters' while reading GROUP." > (interactive > (let ((PC-word-delimiters ":")) > (call-interactively > `(lambda (&rest args) > ,(interactive-form 'gnus-group-jump-to-group) > args))))) Nice try :-) Well, it doesn't. It complains about infinite recursion. I think it's due to infinite evaluation of the advice on the « interactive-form ». However, with a « before » advice, I think jump-to-group would have been called twice. But you made the thing : just use (interactive) to make the call. Arg. The following works : (defadvice gnus-group-jump-to-group (around PC-word-delimiters activate) "Temporarily bind `PC-word-delimiters' while reading GROUP." (interactive (let ((PC-word-delimiters ":")) (ad-deactivate 'gnus-group-jump-to-group) (call-interactively 'gnus-group-jump-to-group) (ad-activate 'gnus-group-jump-to-group)))) It seems that ad-do-it can't be used in the interactive part, however. Not so clean, but it works at least :-) -- | Michaėl `Micha' Cadilhac | Would someone please DTRT with this | | Epita/LRDE Promo 2007 | then ACK? | | http://www.lrde.org/~cadilh_m | -- Richard Stallman | `-- - JID: micha@amessage.be --' - --'