/* #########################################################################

				  XCORAL SMAC

   File: .xcoralrc

   Created: Tue Nov 30 19:01:29 1993
   Author: Thierry Emery
   Modified: Mon Feb 21 10:05:58 1994
   Last maintained by: Thierry Emery

   RCS $Revision: 1.7 $ $State: Exp $

   #########################################################################

   Note: initialization file for Xcoral

   #########################################################################

   Permission to use, copy, and distribute for non-commercial purposes, is
   hereby granted without fee, providing that this permission notice appear
   in all copies and in supporting documentation. The software may be
   modified for your own purposes, but modified versions may not be
   distributed. This software is provided "as is" without any expressed or
   implied warranty.

   ######################################################################### */

/* -------------------------------------------------------------------------
   load standard libraries
   ------------------------------------------------------------------------- */

{
  load_file("mode.sc" );
  load_file("head.sc");
  load_file("cmd.sc" );
  load_file("french.sc");
}

/* ---------------------------------------------------------------------------
   load user libraries
   --------------------------------------------------------------------------- */
{
  load_file("describe.sc");
  load_file("utilities.sc");
  load_file("mode-ext.sc");
  load_file("mouse.sc");
  load_file("default-hack-filename.sc");
  load_file("comments.sc");
  load_file("custom-comments.sc");
  load_file("save-ext.sc");
  load_file("make-ext.sc");
  load_file("keydef-ext.sc");
  load_file("complete-word.sc");
  load_file("basics.sc");
  load_file("window-utilities.sc");
  load_file("compare-win.sc");
  load_file("rcs-commands.sc");
}

/* -------------------------------------------------------------------------
   define fonts
   ------------------------------------------------------------------------- */

{
  set_mode_font("default",
		"-adobe-new century schoolbook-medium-r-normal--18-180-75-75-p-103-iso8859-1");
  set_mode_font("C-mode",
		"-adobe-courier-bold-r-normal--14-140-75-75-m-90-iso8859-1");
  set_mode_font("C++mode",
		"-adobe-courier-bold-r-normal--14-140-75-75-m-90-iso8859-1");
  set_mode_font("Shell",
		"-adobe-courier-bold-r-normal--14-140-75-75-m-90-iso8859-1");
  set_mode_font ("french",
		 "-adobe-new century schoolbook-medium-r-normal--14-140-75-75-p-90-iso8859-1");
}

/* -------------------------------------------------------------------------
   define suffixes
   ------------------------------------------------------------------------- */

{
  set_mode_suffixes("C++mode",".cc .h");
  set_mode_suffixes("C-mode",".c .sc .xcoralrc");
  set_mode_suffixes("french",".txt .text");
}

/* -------------------------------------------------------------------------
   define modes on which global_key_def operates
   ------------------------------------------------------------------------- */

{
  globalize_mode("default");
  globalize_mode("C-mode");
  globalize_mode("C++mode");
  globalize_mode("french");
  globalize_mode("Shell");
}

/* -------------------------------------------------------------------------
   define keys
   ------------------------------------------------------------------------- */

{
  global_key_def("^xt", "transpose_chars");
  global_key_def("^xy", "transpose_forms");
  global_key_def("^[\\", "delete_line_blanks");
  global_key_def("^[ ",  "just_one_blank");
  global_key_def("^[k",  "delete_to_beginning_of_line");
  global_key_def("^xc",  "center_line");
  global_key_def("^[l", "recenter");

  global_key_def("^x#", "sharp_comment");
  global_key_def("^x+", "plus_comment");
  global_key_def("^x=", "equal_comment");
  global_key_def("^x-", "minus_comment");
  global_key_def("^x%", "percent_comment");

  global_key_def("^xz", "update_title_and_save_file");
  global_key_def("^xs", "update_title_backup_and_save_file");

  global_key_def("^x`", "NextError");

  global_key_def("^[/", "complete_word");

  global_key_def("^xC", "CompareAgain");

  global_key_def("^x^i", "CheckIn");
  global_key_def("^x^a", "CheckInAndOut");
  global_key_def("^x^o", "CheckOut");
  global_key_def("^x^l", "Rlog");
  global_key_def("^x^d", "RcsDiff");

  key_def("Shell", "^p", "goto_previous_line");
  key_def("Shell", "^n", "goto_next_line");
  key_def("Shell", "^a", "goto_beginning_of_line");
  key_def("Shell", "^e", "goto_end_of_line");
  key_def("Shell", "^f", "goto_next_char");
  key_def("Shell", "^b", "goto_previous_char");
  key_def("Shell", "^[b", "backward_c_form");
  key_def("Shell", "^[f", "forward_c_form");
  key_def("Shell", "^d", "delete_char");
  key_def("Shell", "^k", "delete_to_end_of_line");
  key_def("Shell", "^[d", "delete_next_c_form");
  key_def("Shell", "^[\b", "delete_previous_c_form");
  key_def("Shell", "^[\177", "delete_previous_c_form"); /* esc delete */
  key_def("Shell", "^[t", "current_line_to_top");
}

