[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: interactive function calls
From: |
Richard G Riley |
Subject: |
Re: interactive function calls |
Date: |
Mon, 09 Jun 2008 20:53:32 +0200 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (gnu/linux) |
Nikolaj Schumacher <n_schumacher@web.de> writes:
> Richard G Riley <rileyrgdev@gmail.com> wrote:
>
>> I have this in my .emacs
>>
>> (define-key mode-specific-map [?F] 'fortune-from-region)
>>
>> The problem is that in the code for fortune-append we see something
>> like:
>>
>> ,----
>> | (unless interactive
>> | (save-buffer)
>> | (if fortune-always-compile
>> | (fortune-compile file)))))
>> |
>> `----
>>
>> Following a chat on #emacs on irc, I tried creating my own rgrfortune
>> function which was then called from the key binding and then I was told
>> it would call 'fortune-from-region "non interactively" - but this did not
>> work
>
> From reading the code I gather that `interactive' in the code has
> nothing to do with whether it is called interactively. Rather,
> `interactive' is an argument that is set to t by `fortune-from-region',
> regardless if called interactively or not.
>
> Here's the line from `fortune-from-region':
>
> (fortune-append string t file)
> ^
>
> So, working around that is not that easy.
>
>> The reason I want it called "non interactive" is simply that thats
>> the way to save and compile the fortune file as the fortune-append
>> snippet above shows.
>
> If I understand you correctly, couldn't you just call those lines
> yourself? Something like this...
>
> (defun rgrfortune (beg end file)
> (interactive (list (region-beginning) (region-end)
> (if current-prefix-arg (fortune-ask-file))))
> (fortune-from-region beg end file)
> (save-buffer)
> (fortune-compile file))
>
>
> regards,
> Nikolaj Schumacher
Aargh. I misread the code there. I was convinced it was something to do
with the interactive nature of calling code from a key bind.
Thanks - that worked fine.