calc: Creating User Keys

 
 18.1 Creating User Keys
 =======================
 
 Any Calculator command may be bound to a key using the ‘Z D’
 (‘calc-user-define’) command.  Actually, it is bound to a two-key
 sequence beginning with the lower-case ‘z’ prefix.
 
    The ‘Z D’ command first prompts for the key to define.  For example,
 press ‘Z D a’ to define the new key sequence ‘z a’.  You are then
 prompted for the name of the Calculator command that this key should
 run.  For example, the ‘calc-sincos’ command is not normally available
 on a key.  Typing ‘Z D s sincos <RET>’ programs the ‘z s’ key sequence
 to run ‘calc-sincos’.  This definition will remain in effect for the
 rest of this Emacs session, or until you redefine ‘z s’ to be something
 else.
 
    You can actually bind any Emacs command to a ‘z’ key sequence by
 backspacing over the ‘calc-’ when you are prompted for the command name.
 
    As with any other prefix key, you can type ‘z ?’ to see a list of all
 the two-key sequences you have defined that start with ‘z’.  Initially,
 no ‘z’ sequences (except ‘z ?’ itself) are defined.
 
    User keys are typically letters, but may in fact be any key.
 (<META>-keys are not permitted, nor are a terminal’s special function
 keys which generate multi-character sequences when pressed.)  You can
 define different commands on the shifted and unshifted versions of a
 letter if you wish.
 
    The ‘Z U’ (‘calc-user-undefine’) command unbinds a user key.  For
 example, the key sequence ‘Z U s’ will undefine the ‘sincos’ key we
 defined above.
 
    The ‘Z P’ (‘calc-user-define-permanent’) command makes a key binding
 permanent so that it will remain in effect even in future Emacs
 sessions.  (It does this by adding a suitable bit of Lisp code into your
 Calc init file; that is, the file given by the variable
 ‘calc-settings-file’, typically ‘~/.emacs.d/calc.el’.)  For example, ‘Z
 P s’ would register our ‘sincos’ command permanently.  If you later wish
 to unregister this command you must edit your Calc init file by hand.
 (SeeGeneral Mode Commands, for a way to tell Calc to use a
 different file for the Calc init file.)
 
    The ‘Z P’ command also saves the user definition, if any, for the
 command bound to the key.  After ‘Z F’ and ‘Z C’, a given user key could
 invoke a command, which in turn calls an algebraic function, which might
 have one or more special display formats.  A single ‘Z P’ command will
 save all of these definitions.  To save an algebraic function, type ‘'’
 (the apostrophe) when prompted for a key, and type the function name.
 To save a command without its key binding, type ‘M-x’ and enter a
 function name.  (The ‘calc-’ prefix will automatically be inserted for
 you.)  (If the command you give implies a function, the function will be
 saved, and if the function has any display formats, those will be saved,
 but not the other way around: Saving a function will not save any
 commands or key bindings associated with the function.)
 
    The ‘Z E’ (‘calc-user-define-edit’) command edits the definition of a
 user key.  This works for keys that have been defined by either keyboard
 macros or formulas; further details are contained in the relevant
 following sections.