home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / lisp / ilisp / ilisp.el < prev    next >
Encoding:
Text File  |  1995-01-26  |  6.1 KB  |  186 lines

  1. ;;; -*- Mode: Emacs-Lisp -*-
  2.  
  3. ;;; ilisp.el --
  4.  
  5. ;;; This file is part of ILISP.
  6. ;;; Version: 5.7
  7. ;;;
  8. ;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell
  9. ;;;               1993, 1994 Ivan Vasquez
  10. ;;;               1994, 1995 Marco Antoniotti and Rick Busdiecker
  11. ;;;
  12. ;;; Other authors' names for which this Copyright notice also holds
  13. ;;; may appear later in this file.
  14. ;;;
  15. ;;; Send mail to 'ilisp-request@lehman.com' to be included in the
  16. ;;; ILISP mailing list. 'ilisp@lehman.com' is the general ILISP
  17. ;;; mailing list were bugs and improvements are discussed.
  18. ;;;
  19. ;;; ILISP is freely redistributable under the terms found in the file
  20. ;;; COPYING.
  21.  
  22.      
  23.  
  24. ;;; Author: Chris McConnell <ccm@cs.cmu.edu>
  25. ;;; Maintainer: The Net <ilisp@lehman.com>
  26. ;;; Created: 14 Jun 1994
  27. ;;; Version: 5.7
  28. ;;; Keywords: lisp common-lisp scheme comint
  29.  
  30. ;;; This file may become part of GNU Emacs in the near future.
  31.  
  32. ;;; GNU Emacs is distributed in the hope that it will be useful,
  33. ;;; but WITHOUT ANY WARRANTY.  No author or distributor
  34. ;;; accepts responsibility to anyone for the consequences of using it
  35. ;;; or for whether it serves any particular purpose or works at all,
  36. ;;; unless he says so in writing.  Refer to the GNU Emacs General Public
  37. ;;; License for full details.
  38.  
  39. ;;; Everyone is granted permission to copy, modify and redistribute
  40. ;;; GNU Emacs, but only under the conditions described in the
  41. ;;; GNU Emacs General Public License.   A copy of this license is
  42. ;;; supposed to have been given to you along with GNU Emacs so you
  43. ;;; can know your rights and responsibilities.  It should be in a
  44. ;;; file named COPYING.  Among other things, the copyright notice
  45. ;;; and this notice must be preserved on all copies.
  46.  
  47. ;;; *****************************************************************
  48. ;;; Please read the texinfo file (via m-x info in emacs or tex it and
  49. ;;; print it out) for installation instructions.
  50. ;;; *****************************************************************
  51.  
  52. ;;; This file defines a generic LISP interface that can be customized
  53. ;;; to match a specific LISP dialect.  Support is already provided for
  54. ;;; a number of common LISP dialects.  Lucid, Allegro and CMU are
  55. ;;; fully supported.  Other LISP dialects are missing features like
  56. ;;; arglist and find-source.
  57.  
  58. ;;; Since this is built on top of the general command-interpreter-in-
  59. ;;; a-buffer mode (comint mode), it shares a common base
  60. ;;; functionality, and a common set of bindings, with all modes
  61. ;;; derived from comint mode.  This makes it easier to use.
  62.  
  63. ;;; For documentation on the functionality provided by comint mode,
  64. ;;; and the hooks available for customizing it, see the file
  65. ;;; comint.el.
  66.  
  67. ;;; Throughout this file you will find comment lines with %'s on them.
  68. ;;; These lines define sections for outline mode which I use while
  69. ;;; programming to temporarily hide code.
  70.  
  71. ;;; See the documentation for ILISP mode, or read texinfo document for
  72. ;;; information.  All of the EMACS function names begin or end with
  73. ;;; lisp or ilisp to separate ilisp functions from functions in other
  74. ;;; packages.  Functions that work only in lisp buffers or that work
  75. ;;; in both lisp buffers and inferior lisp buffers use lisp, all other
  76. ;;; functions use ilisp.  If a function is intended to be used
  77. ;;; interactively, then the lisp or ilisp comes at the end of the
  78. ;;; function name, otherwise at the start.
  79.  
  80. ;;;%%KNOWN BUGS
  81. ;;; 
  82. ;;; If you type multiple things to the top level before you get a
  83. ;;; prompt, the LISP may be running with the status light indicating
  84. ;;; ready.  This is because I have no way to distinguish between input
  85. ;;; to a program and that to the top level.
  86. ;;;
  87. ;;; When running a lisp on Ultrix, you need to set ilisp-program to
  88. ;;; "/bin/sh -c your/path/your-lisp-image".
  89. ;;; 
  90. ;;; If you get lisp output breaking up in weird places it almost
  91. ;;; certainly means that comint-prompt-regexp is not precise enough.
  92. ;;;
  93. ;;; I would like to eat Lucid's return from break in the process
  94. ;;; filter, but I can't tell how many newlines to eat after.
  95.  
  96.  
  97. ;;;%%CONTRIBUTORS
  98.  
  99. ;; Recent contributors include (in alphabetical order):
  100.  
  101. ;; Marco Antoniotti, Robert P. Goldman, Larry Hunter, Eyvind Ness, 
  102. ;; Ivan Vazquez, Fred White
  103.  
  104.  
  105. ;;;%Requirements
  106. (if (string-match "\\`18" emacs-version)
  107.     (load "comint-v18") ; Included older version of comint.
  108.   (require 'comint))
  109.  
  110.  
  111. ;;; This is the old call. The new one is just below. It now dispatches
  112. ;;; on the correct type of Emacs.
  113. ;;;(load "ilisp-cpat")
  114. (load "ilcompat")
  115.  
  116. (load "comint-ipc")
  117.  
  118. ;; This is optional -- used only by io-bridge-ilisp
  119. (load "bridge")
  120.  
  121. (if (load "ilisp-all.elc" t)
  122.     t
  123.   (progn                ; I know it is useless in Elisp.
  124.     (load "ilisp-def")
  125.     (load "ilisp-el")
  126.     (load "ilisp-sym")
  127.     (load "ilisp-inp")
  128.     (load "ilisp-ind")
  129.  
  130.     (load "ilisp-prc")
  131.     (load "ilisp-val")
  132.     (load "ilisp-out")
  133.     (load "ilisp-mov")
  134.     (load "ilisp-key")
  135.     (load "ilisp-prn")
  136.     (load "ilisp-low")
  137.     (load "ilisp-doc")
  138.     (load "ilisp-ext")            ; Some emacs-lisp
  139.                     ; bindings. Lisp char syntax.
  140.     (load "ilisp-mod")
  141.     (load "ilisp-dia")
  142.     (load "ilisp-cmt")
  143.     (load "ilisp-rng")
  144.     (load "ilisp-hnd")
  145.     (load "ilisp-utl")
  146.     (load "ilisp-cmp")
  147.     (load "ilisp-kil")
  148.     (load "ilisp-snd")
  149.     (load "ilisp-xfr")
  150.     (load "ilisp-hi")
  151.     (load "ilisp-aut")
  152.  
  153.     ;; Dialects.
  154.     ;; The user will define their autoloads to load "ilisp" when trying
  155.     ;; to run their dialect.  This will load all of the dialects in.
  156.     (load "ilisp-cl")
  157.     (load "ilisp-cmu")
  158.     (load "ilisp-acl")
  159.     (load "ilisp-hlw")
  160.     (load "ilisp-kcl")
  161.     (load "ilisp-luc")
  162.     (load "ilisp-sch")
  163.     ))
  164.  
  165. ;;; Create the keymaps before running the hooks.
  166. ;;; This is necessary if you want the lispm bindings in the load
  167. ;;; hook. Otherwise you need to put it AFTER the running of the hooks
  168.  
  169. ;;; (if (not ilisp-mode-map) (ilisp-bindings))
  170.  
  171.  
  172. ;;; Now run the hooks.
  173.  
  174. (run-hooks 'ilisp-site-hook)
  175. ;;; (run-hooks 'load-hook)
  176. (run-hooks 'ilisp-load-hook)        ; It seem s more reasonable.
  177.  
  178. (if (not ilisp-mode-map) (ilisp-bindings))
  179.  
  180. ;;; Optional:
  181. ; (load "ilisp-menu")
  182. (if (not (member +ilisp-emacs-version-id+ '(xemacs lucid-19 lucid-19-new)))
  183.     (load "ilisp-mnb"))
  184.  
  185. (provide 'ilisp)
  186.