unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: michael.cadilhac@lrde.org (Michaël Cadilhac)
Cc: help-gnu-emacs@gnu.org
Subject: Re: Local values of PC-word-delimiters.
Date: Mon, 17 Apr 2006 19:03:54 +0200	[thread overview]
Message-ID: <87sloc9ls5.fsf@lrde.org> (raw)
In-Reply-To: <e20fd0$bva$1@sea.gmane.org> (Kevin Rodgers's message of "Mon, 17 Apr 2006 10:22:10 -0600")


[-- Attachment #1.1: Type: text/plain, Size: 1794 bytes --]

Kevin Rodgers <ihs_4664@yahoo.com> 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 --'                                   -  --'

[-- Attachment #1.2: Type: application/pgp-signature, Size: 188 bytes --]

[-- Attachment #2: Type: text/plain, Size: 152 bytes --]

_______________________________________________
help-gnu-emacs mailing list
help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

  reply	other threads:[~2006-04-17 17:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-15 14:05 Local values of PC-word-delimiters Michaël Cadilhac
2006-04-17 16:22 ` Kevin Rodgers
2006-04-17 17:03   ` Michaël Cadilhac [this message]
2006-04-18 10:05     ` Michaël Cadilhac
2006-04-19 16:14       ` Kevin Rodgers

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87sloc9ls5.fsf@lrde.org \
    --to=michael.cadilhac@lrde.org \
    --cc=help-gnu-emacs@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 read-only IMAP folder(s) and NNTP newsgroup(s).