cowan@soleil.sps.mot.com (02/06/90)
OK, thanks for letting me know that at least my version of
18.55 is probably correct given that my x-* completions are
correct and word counts look OK. (Thanks to tale@turing, and
karney@CCC.)
Maybe I should have started with a description of what I'm trying to do
and ask why it isn't happening as I expected it to.
What I want to do is customize my key mappings under X windows
emacs 18.55 (compiled on a Sun4, being X-served to a Visual
X-terminal). From gray@lucid.com I got the clue to use the
x-rebind-keys function and put the following in my startup
(.emacs) file:
(x-rebind-key "Right" "Control_L" "\ef")
; ctrl-right-arrow = forward word
The weirdness that provoked my first question is that I'm
getting this message when I startup:
"Symbol's function definition is void: x-rebind-key"
Now, is that weird? Or normal? What's the problem?
-AC
Andy Cowan
cowan@soleil.sps.mot.com
(602)821-4942vasta@apollo.HP.COM (John Vasta) (02/08/90)
In article <2001@dover.sps.mot.com> cowan@soleil.sps.mot.com () writes: >What I want to do is customize my key mappings under X windows >emacs 18.55 (compiled on a Sun4, being X-served to a Visual >X-terminal). From gray@lucid.com I got the clue to use the >x-rebind-keys function and put the following in my startup >(.emacs) file: > > (x-rebind-key "Right" "Control_L" "\ef") > ; ctrl-right-arrow = forward word > >The weirdness that provoked my first question is that I'm >getting this message when I startup: > > "Symbol's function definition is void: x-rebind-key" > >Now, is that weird? Or normal? What's the problem? It sounds like the Lucid folk may be using the x-rebind-key function which was written by John Brezak at HP/Apollo. If you look in the x11fns.c file, you'll see that the function is mainly commented out. I think that all you need to do is replace it with this: DEFUN ("x-rebind-key", Fx_rebind_key, Sx_rebind_key, 3, 3, 0, "Rebind KeySym, with ModifierSym, to new string NEWSTRING.\n\ KeySym and ModifierSym should be Strings representing the names of\n\ X keyboard keycap and modifier keycap name. If the ModifierSym is\n\ nill, then the KeySym's key will be bound to NEWSTRING for all modifier\n\ combinations.\n\ Common modifiers:\n\ Shift_L Shift_R Control_L Control_R Meta\n") (keycode, keymodifier, newstring) register Lisp_Object keycode; register Lisp_Object keymodifier; register Lisp_Object newstring; { char *rawstring; KeySym rawkey, rawmod[2]; int mod_len = 0; int strsize; /* * Check args */ CHECK_STRING (keycode, 1); if (!NULL (keymodifier)) CHECK_STRING (keymodifier, 2); CHECK_STRING (newstring, 3); /* * Get newstring and sizeof it */ strsize = XSTRING (newstring) ->size; rawstring = (char *) xmalloc (strsize); bcopy (XSTRING (newstring)->data, rawstring, strsize); /* * Translate key to keysym */ rawkey = XStringToKeysym(XSTRING(keycode)->data); /* * Translate modifier to keysym */ if (!NULL (keymodifier)) { rawmod[0] = XStringToKeysym(XSTRING(keymodifier)->data); mod_len++; } if (rawkey != NoSymbol) XRebindKeysym (XXdisplay, rawkey, rawmod, mod_len, rawstring, strsize); else error("Keysym \"%s\" unknown", XSTRING(keycode)->data); return Qnil; } John Vasta Hewlett-Packard Apollo Systems Division vasta@apollo.hp.com M.S. CHA-01-LT (508) 256-6600 x6362 300 Apollo Drive, Chelmsford, MA 01824 UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!vasta