unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* How to bind keys in emacs?
@ 2005-12-23  7:38 zelzel.zsu
  2005-12-23  8:24 ` Pascal Bourguignon
  0 siblings, 1 reply; 8+ messages in thread
From: zelzel.zsu @ 2005-12-23  7:38 UTC (permalink / raw)


Subject: How to bind keys in emacs?

hi, I am new to emacs.
can anyone wrote some code for me?

I want to bind some functions to F5, F6 keys.

I want to use F5 keys to serve as C-x C-s [save buffer].
and  use F5 keys to serve as C-z [suspend].

What should i write in my ~/.emacs?

Regards.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to bind keys in emacs?
  2005-12-23  7:38 How to bind keys in emacs? zelzel.zsu
@ 2005-12-23  8:24 ` Pascal Bourguignon
  2005-12-23 18:18   ` Cameron Desautels
       [not found]   ` <mailman.20269.1135361990.20277.help-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 8+ messages in thread
From: Pascal Bourguignon @ 2005-12-23  8:24 UTC (permalink / raw)


"zelzel.zsu@gmail.com" <zelzel.zsu@gmail.com> writes:
> Subject: How to bind keys in emacs?
>
> hi, I am new to emacs.
> can anyone wrote some code for me?
>
> I want to bind some functions to F5, F6 keys.
>
> I want to use F5 keys to serve as C-x C-s [save buffer].
> and  use F5 keys to serve as C-z [suspend].
>
> What should i write in my ~/.emacs?

If find it strange that you have non-deterministics wants, but here you are:

(global-set-key (kbd "<f5>") (lambda () 
                                (interactive)
                                (if (oddp (random 2)) 
                                    (save-buffer 0) 
                                    (if window-system
                                       (iconify-or-deiconify-frame)
                                       (suspend-emacs)))))

                                
-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

In a World without Walls and Fences, 
who needs Windows and Gates?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to bind keys in emacs?
  2005-12-23  8:24 ` Pascal Bourguignon
@ 2005-12-23 18:18   ` Cameron Desautels
       [not found]   ` <mailman.20269.1135361990.20277.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 8+ messages in thread
From: Cameron Desautels @ 2005-12-23 18:18 UTC (permalink / raw)


On Fri, Dec 23, 2005 at 09:24:34AM +0100, Pascal Bourguignon wrote:
> > I want to use F5 keys to serve as C-x C-s [save buffer].
> > and  use F5 keys to serve as C-z [suspend].
> >
> > What should i write in my ~/.emacs?
> 
> If find it strange that you have non-deterministics wants, but here you are:

Hah.  I think that was a typo.  I think he wants [f5] as save-buffer
and [f6] as suspend.  Like so:

(global-set-key [f5] 'save-buffer)
(global-set-key [f6] 'suspend-emacs)
-- 
Cameron Desautels <cam@apt2324.com>


Given infinite time, 100 monkeys could type out the complete works of
Shakespeare.  Win 98 source code? Eight monkeys, five minutes.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to bind keys in emacs?
       [not found]   ` <mailman.20269.1135361990.20277.help-gnu-emacs@gnu.org>
@ 2005-12-23 23:13     ` B. T. Raven
  2005-12-23 23:28       ` Pascal Bourguignon
  0 siblings, 1 reply; 8+ messages in thread
From: B. T. Raven @ 2005-12-23 23:13 UTC (permalink / raw)



"Cameron Desautels" <cam@apt2324.com> wrote in message
news:mailman.20269.1135361990.20277.help-gnu-emacs@gnu.org...
> On Fri, Dec 23, 2005 at 09:24:34AM +0100, Pascal Bourguignon wrote:
> > > I want to use F5 keys to serve as C-x C-s [save buffer].
> > > and  use F5 keys to serve as C-z [suspend].
> > >
> > > What should i write in my ~/.emacs?
> >
> > If find it strange that you have non-deterministics wants, but here
you are:
>
> Hah.  I think that was a typo.  I think he wants [f5] as save-buffer
> and [f6] as suspend.  Like so:
>
> (global-set-key [f5] 'save-buffer)
> (global-set-key [f6] 'suspend-emacs)
> --
> Cameron Desautels <cam@apt2324.com>
>
>
> Given infinite time, 100 monkeys could type out the complete works of
> Shakespeare.  Win 98 source code? Eight monkeys, five minutes.
>
>

 Or 'iconify-or-deiconify-frame for w32, apparently, instead of
'suspend-emacs. I don't know why this is. Do both work under Linux?

Ed.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to bind keys in emacs?
  2005-12-23 23:13     ` B. T. Raven
@ 2005-12-23 23:28       ` Pascal Bourguignon
  2005-12-24  6:16         ` B. T. Raven
  2005-12-24  8:13         ` Eli Zaretskii
  0 siblings, 2 replies; 8+ messages in thread
From: Pascal Bourguignon @ 2005-12-23 23:28 UTC (permalink / raw)


"B. T. Raven" <ecinmn@peoplepc.com> writes:

> "Cameron Desautels" <cam@apt2324.com> wrote in message
> news:mailman.20269.1135361990.20277.help-gnu-emacs@gnu.org...
>> On Fri, Dec 23, 2005 at 09:24:34AM +0100, Pascal Bourguignon wrote:
>> > > I want to use F5 keys to serve as C-x C-s [save buffer].
>> > > and  use F5 keys to serve as C-z [suspend].
>> > >
>> > > What should i write in my ~/.emacs?
>> >
>> > If find it strange that you have non-deterministics wants, but here
> you are:
>>
>> Hah.  I think that was a typo.  I think he wants [f5] as save-buffer
>> and [f6] as suspend.  Like so:
>>
>> (global-set-key [f5] 'save-buffer)
>> (global-set-key [f6] 'suspend-emacs)
>> --
>> Cameron Desautels <cam@apt2324.com>
>>
>>
>> Given infinite time, 100 monkeys could type out the complete works of
>> Shakespeare.  Win 98 source code? Eight monkeys, five minutes.
>>
>>
>
>  Or 'iconify-or-deiconify-frame for w32, apparently, instead of
> 'suspend-emacs. I don't know why this is. Do both work under Linux?

Why do you think I wrote:
                                   (if window-system
                                       (iconify-or-deiconify-frame)
                                       (suspend-emacs))

?

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

PLEASE NOTE: Some quantum physics theories suggest that when the
consumer is not directly observing this product, it may cease to
exist or will exist only in a vague and undetermined state.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to bind keys in emacs?
  2005-12-23 23:28       ` Pascal Bourguignon
@ 2005-12-24  6:16         ` B. T. Raven
  2005-12-24  7:11           ` Pascal Bourguignon
  2005-12-24  8:13         ` Eli Zaretskii
  1 sibling, 1 reply; 8+ messages in thread
From: B. T. Raven @ 2005-12-24  6:16 UTC (permalink / raw)



"Pascal Bourguignon" <spam@mouse-potato.com> wrote in message
news:8764pfe6ku.fsf@thalassa.informatimago.com...
> "B. T. Raven" <ecinmn@peoplepc.com> writes:
>
> > "Cameron Desautels" <cam@apt2324.com> wrote in message
> > news:mailman.20269.1135361990.20277.help-gnu-emacs@gnu.org...
> >> On Fri, Dec 23, 2005 at 09:24:34AM +0100, Pascal Bourguignon wrote:
> >> > > I want to use F5 keys to serve as C-x C-s [save buffer].
> >> > > and  use F5 keys to serve as C-z [suspend].
> >> > >
> >> > > What should i write in my ~/.emacs?
> >> >
> >> > If find it strange that you have non-deterministics wants, but here
> > you are:
> >>
> >> Hah.  I think that was a typo.  I think he wants [f5] as save-buffer
> >> and [f6] as suspend.  Like so:
> >>
> >> (global-set-key [f5] 'save-buffer)
> >> (global-set-key [f6] 'suspend-emacs)
> >> --
> >> Cameron Desautels <cam@apt2324.com>
> >>
> >>
> >> Given infinite time, 100 monkeys could type out the complete works of
> >> Shakespeare.  Win 98 source code? Eight monkeys, five minutes.
> >>
> >>
> >
> >  Or 'iconify-or-deiconify-frame for w32, apparently, instead of
> > 'suspend-emacs. I don't know why this is. Do both work under Linux?
>
> Why do you think I wrote:
>                                    (if window-system
>                                        (iconify-or-deiconify-frame)
>                                        (suspend-emacs))
>
> ?

Why do you think I wrote "I don't know why this is":
??
In fact, when I read your code I really didn't understand it. All I did
was identify what was happening with C-z on my (w32) machine. Also I read
that suspend-emacs "makes no sense" in a window environment. Now I know
that window-system can take a value of 'x in addition to 'w32 or nil
(terminal?). I suppose I was flummoxed by the (to my mind) infelicitous
(oddp (random... statement. I don't have oddp or evenp here. Would the op
have learned something if she had obediently added your code to her .emacs
or would he (!) just have seen "Debugger entered--Lisp error:
(void-function oddp)?" Anyway (as we all know) every tyro (randomly male
or female) has certain indeterminate needs.

Ed

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to bind keys in emacs?
  2005-12-24  6:16         ` B. T. Raven
@ 2005-12-24  7:11           ` Pascal Bourguignon
  0 siblings, 0 replies; 8+ messages in thread
From: Pascal Bourguignon @ 2005-12-24  7:11 UTC (permalink / raw)


"B. T. Raven" <ecinmn@peoplepc.com> writes:
>> >  Or 'iconify-or-deiconify-frame for w32, apparently, instead of
>> > 'suspend-emacs. I don't know why this is. Do both work under Linux?

Both work under Linux. This is not the discrimant. 

>> Why do you think I wrote:

The discriminant is:

>>                                    (if window-system
>>                                        (iconify-or-deiconify-frame)
>>                                        (suspend-emacs))
>>
>> ?
>
> Why do you think I wrote "I don't know why this is":
> ??
> In fact, when I read your code I really didn't understand it. 

Since the OP wrote f5 for both save-buffer and iconify or suspend, I
playfully implemented the non deterministic choice:  (random 2)
returns 0 or 1 aleatorily, and oddp test for 1. (I could have used
evenp to test for 0 as well).


> All I did
> was identify what was happening with C-z on my (w32) machine. Also I read
> that suspend-emacs "makes no sense" in a window environment. Now I know
> that window-system can take a value of 'x in addition to 'w32 or nil
> (terminal?). 

> I suppose I was flummoxed by the (to my mind) infelicitous
> (oddp (random... statement. I don't have oddp or evenp here.

You should add (require 'cl) to your ~/.emacs


> Would the op
> have learned something if she had obediently added your code to her .emacs
> or would he (!) just have seen "Debugger entered--Lisp error:
> (void-function oddp)?" Anyway (as we all know) every tyro (randomly male
> or female) has certain indeterminate needs.


-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

In a World without Walls and Fences, 
who needs Windows and Gates?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: How to bind keys in emacs?
  2005-12-23 23:28       ` Pascal Bourguignon
  2005-12-24  6:16         ` B. T. Raven
@ 2005-12-24  8:13         ` Eli Zaretskii
  1 sibling, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2005-12-24  8:13 UTC (permalink / raw)


> From: Pascal Bourguignon <spam@mouse-potato.com>
> Date: Sat, 24 Dec 2005 00:28:49 +0100
> 
> >  Or 'iconify-or-deiconify-frame for w32, apparently, instead of
> > 'suspend-emacs. I don't know why this is. Do both work under Linux?
> 
> Why do you think I wrote:
>                                    (if window-system
>                                        (iconify-or-deiconify-frame)
>                                        (suspend-emacs))
> 
> ?

(I'm not the OP) I don't know why, I only know that `window-system' is
``considered harmful''.  In this case, you should use
`display-multi-frame-p' or `(fboundp 'iconify-or-deiconify-frame)'
instead.  That's because `window-system' doesn't say anything about
the underlying functionality, so it's better to use predicates which
do.  (As a matter of fact, there's at least one Emacs configuration
that has non-nil `window-system', but doesn't support iconify.)

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2005-12-24  8:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-23  7:38 How to bind keys in emacs? zelzel.zsu
2005-12-23  8:24 ` Pascal Bourguignon
2005-12-23 18:18   ` Cameron Desautels
     [not found]   ` <mailman.20269.1135361990.20277.help-gnu-emacs@gnu.org>
2005-12-23 23:13     ` B. T. Raven
2005-12-23 23:28       ` Pascal Bourguignon
2005-12-24  6:16         ` B. T. Raven
2005-12-24  7:11           ` Pascal Bourguignon
2005-12-24  8:13         ` Eli Zaretskii

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).