Initial Commit
[packages] / xemacs-packages / ilisp / ilisp.emacs
1 ;;;  -*- Mode: Emacs-Lisp -*-
2
3 ;;; ilisp.emacs --
4 ;;; This file shows examples of some of the things you might want to
5 ;;; do to install or customize ILISP.  You may not want to include all
6 ;;; of them in your .emacs.  For example, the default key binding
7 ;;; prefix for ILISP is C-z and this file changes the default prefix
8 ;;; to C-c. For more information on things that can be changed, see
9 ;;; the file ilisp.el.
10 ;;;
11 ;;; This file is part of ILISP.
12 ;;; Please refer to the file COPYING for copyrights and licensing
13 ;;; information.
14 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
15 ;;; of present and past contributors.
16 ;;;
17 ;;; $Id: ilisp.emacs,v 1.4 2002-06-03 23:37:04 wbd Exp $
18
19
20 ;;; If ilisp lives in some non-standard directory, you must tell
21 ;;; Emacs where to get it. This may or may not be necessary.
22
23 (setq load-path (cons (expand-file-name "~jones/emacs/ilisp/")
24                       load-path))
25
26
27 ;;; If you always want partial minibuffer completion
28
29 (require 'completer)
30
31 ;;; Uncomment the following lines if you want TMC completion (see
32 ;;; completion.el among the Emacs ELisp sources).
33
34 ; (load "completion")
35 ; (initialize-completions)
36
37
38 ;;; If you want to redefine typeout-window keys.
39
40 ; (add-hook 'ilisp-load-hook
41 ;   '(lambda ()
42 ;      (define-key global-map "\C-c1" 'ilisp-bury-output)
43 ;      (define-key global-map "\C-cv" 'ilisp-scroll-output)
44 ;      (define-key global-map "\C-cg" 'ilisp-grow-output)))
45
46
47 ;;; Autoload based on your Lisp. You only really need the one you
48 ;;; use. If called with a prefix, you will be prompted for a
49 ;;; buffer and program.
50
51 (autoload 'run-ilisp   "ilisp" "Select a new inferior Lisp." t)
52
53 (autoload 'common-lisp "ilisp" "Inferior generic Common Lisp." t)
54
55 ;; Franz
56 (autoload 'allegro     "ilisp" "Inferior Allegro Common Lisp." t)
57
58 ;; Corman
59 (autoload 'cormanlisp  "ilisp" "Inferior Corman Common Lisp." t)
60
61 ;; Lucid
62 ; (autoload 'lucid     "ilisp" "Inferior Lucid Common Lisp." t)
63
64 ;; Harlequin
65 ; (autoload lispworks  "ilisp"
66 ;   "Inferior Harlequin Common Lisp (LispWorks)." t)
67 ; (autoload harlequin  "ilisp"
68 ;   "Inferior Harlequin Common Lisp (LispWorks)." t)
69 ; (autoload pulcinella "ilisp"
70 ;   "Inferior Harlequin Common Lisp (LispWorks)." t)
71 ;; Italian "Commedia dell'Arte" twist.
72
73 ;; CMUCL
74 (autoload 'cmulisp     "ilisp" "Inferior CMU Common Lisp." t)
75
76 ;; CLISP (Bruno Haible and Michael Stoll)
77 (autoload 'clisp-hs   "ilisp"
78   "Inferior Haible/Stoll CLISP Common Lisp." t)
79
80 ;; KCL dialects
81 ; (autoload 'kcl       "ilisp"
82 ;   "Inferior Kyoto Common Lisp." t)
83 ; (autoload 'akcl      "ilisp"
84 ;   "Inferior Austin Kyoto Common Lisp." t)
85 ; (autoload 'ibcl "ilisp"
86 ;   "Ibuki Common Lisp." t)
87 ; (autoload 'gcl "ilisp"
88 ;   "Inferior GNU Common Lisp." t)
89 ; (autoload 'ecl "ilisp"
90 ;   "Inferior EcoLisp." t)
91
92 ;; XLisp
93 ; (autoload 'xlisp      "ilisp" "Inferior XLisp." t)
94 ; (autoload 'xlispstat  "ilisp" "Inferior XLisp-Stat." t)
95
96 ;; Scheme
97 ; (autoload 'scheme     "ilisp" "Inferior generic Scheme." t)
98 ; (autoload 'oaklisp    "ilisp" "Inferior Oaklisp Scheme." t)
99 ; (autoload 'scm        "ilisp" "Inferior SCM Scheme." t)
100 ; (autoload 'chez       "ilisp" "Inferior Chez Scheme." t)
101 ; (autoload 'stk        "ilisp" "Inferior STk Scheme." t)
102 ; (autoload 'snow       "ilisp" "Inferior STk Scheme without Tk." t)
103 ; (autoload 'guile      "ilisp" "Inferior GUILE Scheme." t)
104
105
106 ;;; Define where Lisp programs are found. (This may already have
107 ;;; been done at your site).
108
109 (setq allegro-program "/usr/local/acl5/lisp")
110
111 ; (setq lucid-program "/usr/misc/.lucid/bin/lisp")
112
113 (setq clisp-hs-program "clisp -I")
114
115 ;(setq *cormanlisp-dir* "C:\\CORMAN~1\\CORMAN~1.5\\")
116 ;(setq cormanlisp-program
117 ;      (concat *cormanlisp-dir* "clconsole.exe" 
118 ;              " -image " *cormanlisp-dir* "CormanLisp.img"))
119
120 ; (setq lispworks-program
121 ;       "/somewhere/in/the/directory/tree/lispworks")
122
123 (setq cmulisp-program
124       "/usr/local/lib/cmucl/bin/lisp")
125
126 ;; If you are interested in maintaining CMUCL or compiling it
127 ;; from source then set this to where the source files are.
128 ; (setq cmulisp-local-source-directory
129 ;       "/usr/robotics/shared/cmu-cl/17e/")
130
131 ; (setq akcl-program "kcl")
132 ; (setq gcl-program "gcl")
133 ; (setq ecl-program "ecl")
134
135 ; (setq xlisp-program "xlisp")
136 ; (setq xlispstat-program "xlispstat")
137
138 ; (setq scm-program "scm -i")
139 ; (setq chez-program "petite")
140 ; (setq stk-program "stk -interactive")
141 ; (setq snow-program "snow -interactive")
142 ; (setq guile-program "guile")
143
144
145 ;;; This makes reading a Lisp or Scheme file load in ILISP.
146
147 (set-default 'auto-mode-alist
148              (append '(("\\.lisp$" . lisp-mode)
149                        ("\\.lsp$" . lisp-mode)
150                        ("\\.cl$" . lisp-mode))
151                      auto-mode-alist))
152
153 (add-hook 'lisp-mode-hook '(lambda () (require 'ilisp)))
154
155 (set-default 'auto-mode-alist
156              (append '(("\\.scm$" . scheme-mode)
157                        ("\\.ss$" . scheme-mode)
158                        ("\\.stk$" . scheme-mode)
159                        ("\\.stklos$" . scheme-mode))
160                      auto-mode-alist))
161
162 (add-hook 'scheme-mode-hook '(lambda () (require 'ilisp)))
163
164
165 ;;; Configuration of Erik Naggum's HyperSpec access package.
166
167 ;; If you have a local copy of the HyperSpec, set its path here.
168 ; (setq common-lisp-hyperspec-root
169 ;       "file:/home/joe/HyperSpec/")
170 ; (setq common-lisp-hyperspec-symbol-table
171 ;       "/home/joe/HyperSpec/Data/Map_Sym.Txt")
172
173 ;; Here's how to get the newest version of the CLHS:
174 ;; <http://groups.google.com/groups?selm=sfwvgftux7g.fsf%40shell01.TheWorld.com>
175
176
177
178 ;;; Configuration of Utz-Uwe Haus' CLtL2 access package.
179
180 ;; If you have a local copy of CLtL2, set its path here.
181 ; (setq cltl2-root-url
182 ;       "file:/home/joe/cltl2/")
183
184
185 ;;; Sample load hook
186
187 (add-hook 'ilisp-load-hook
188           '(lambda ()
189              ;; Change default key prefix to C-c
190              (setq ilisp-*prefix* "\C-c")
191
192              ;; Set a keybinding for the COMMON-LISP-HYPERSPEC command
193              (defkey-ilisp "" 'common-lisp-hyperspec)
194
195              ;; Make sure that you don't keep popping up the 'inferior
196              ;; Lisp' buffer window when this is already visible in
197              ;; another frame. Actually this variable has more impact
198              ;; than that. Watch out.
199              ; (setq pop-up-frames t)
200
201              (message "Running ilisp-load-hook")
202              ;; Define LispMachine-like key bindings, too.
203              ; (ilisp-lispm-bindings) Sample initialization hook.
204
205              ;; Set the inferior Lisp directory to the directory of
206              ;; the buffer that spawned it on the first prompt.
207              (add-hook 'ilisp-init-hook
208                        '(lambda ()
209                           (default-directory-lisp ilisp-last-buffer)))
210              ))
211
212
213 ;;; end of file -- ilisp.emacs --