comparison man/ilisp.texi @ 8:4b173ad71786 r19-15b5

Import from CVS: tag r19-15b5
author cvs
date Mon, 13 Aug 2007 08:47:35 +0200
parents 376386a54a3c
children
comparison
equal deleted inserted replaced
7:c153ca296910 8:4b173ad71786
1 \input texinfo @c -*-texinfo-*- Last modified: April 10, 1993 1 \input texinfo @c -*-texinfo-*- Last modified: October 25, 1996
2 @setfilename ../info/ilisp.info 2 @setfilename ilisp.info
3 @settitle The ILISP Inferior LISP Interface 3 @settitle The ILISP Inferior LISP Interface
4 4
5 @c NOTE: KEYBINDING DESCRIPTIONS IN THIS FILE 5 @c NOTE: KEYBINDING DESCRIPTIONS IN THIS FILE
6 @c 6 @c
7 @c Texinfo doesn't support the functionality of substitute-command-keys, 7 @c Texinfo doesn't support the functionality of substitute-command-keys,
67 67
68 68
69 @ifinfo 69 @ifinfo
70 This file documents ILISP. 70 This file documents ILISP.
71 71
72 This is edition 0.11 of the ILISP manual 72 This is edition 0.12 of the ILISP manual
73 for ILISP Version 5.5. 73 for ILISP Version 5.8.
74 74
75 Copyright (C) 1991,1992,1993 Todd Kaufmann 75 Copyright (C) 1991,1992,1993 Todd Kaufmann
76 1993,1994 Ivan Vasquez
77 1994, 1995, 1996 Marco Antoniotti and Rick Busdiecker
78 1996 Marco Antoniotti and Rick Campbell
76 79
77 Permission is granted to make and distribute verbatim copies of 80 Permission is granted to make and distribute verbatim copies of
78 this manual provided the copyright notice and this permission notice 81 this manual provided the copyright notice and this permission notice
79 are preserved on all copies. 82 are preserved on all copies.
80 83
94 @setchapternewpage odd 97 @setchapternewpage odd
95 98
96 @titlepage 99 @titlepage
97 @title ILISP User Manual 100 @title ILISP User Manual
98 @subtitle A GNU Emacs Interface for Interacting with Lisp 101 @subtitle A GNU Emacs Interface for Interacting with Lisp
99 @subtitle Edition 0.11, June 1993 102 @subtitle Edition 0.13, October 1996
100 @subtitle For ILISP Version 5.5 103 @subtitle For ILISP Version 5.8
101 @c 104 @c
102 @c the following comment string is removed by the ctrl-c-doc.sh script, 105 @c the following comment string is removed by the ctrl-c-doc.sh script,
103 @c which can be used to change all ilisp-prefix bindings to C-c (or 106 @c which can be used to change all ilisp-prefix bindings to C-c (or
104 @c other). 107 @c other).
105 @c 108 @c
106 @comment ctrl-C version: @subtitle This is the ``@key{C-z}'' version of the manual. 109 @comment ctrl-C version: @subtitle This is the ``@key{C-z}'' version of the manual.
107 110
108 @author by Todd Kaufmann, Chris McConnell and Ivan Vazquez 111 @author by Todd Kaufmann, Chris McConnell, Ivan Vazquez, Marco Antoniotti, and Rick Campbell
109 112
110 @page 113 @page
111 @vskip 0pt plus 1filll 114 @vskip 0pt plus 1filll
112 Copyright @copyright{} 1991, 1992, 1993 Todd Kaufmann 115 Copyright @copyright{} 1991, 1992, 1993 Todd Kaufmann
116 1993, 1994 Ivan Vasquez
117 1994, 1995, 1996 Marco Antoniotti and Rick Busdiecker
118 1996 Marco Antoniotti and Rick Campbell
113 119
114 @sp 2 120 @sp 2
115 This is edition 0.11 of the @cite{ILISP User Manual} 121 This is edition 0.12 of the @cite{ILISP User Manual}
116 for ILISP Version 5.5, 122 for ILISP Version 5.8,
117 June 1993. 123 July 1996.
118 124
119 @sp 2 125 @sp 2
120 126
121 Permission is granted to make and distribute verbatim copies of 127 Permission is granted to make and distribute verbatim copies of
122 this manual provided the copyright notice and this permission notice 128 this manual provided the copyright notice and this permission notice
184 The easiest way to get a copy of ILISP is from someone else who has it. 190 The easiest way to get a copy of ILISP is from someone else who has it.
185 You need not ask for permission to do so, or tell any one else; just 191 You need not ask for permission to do so, or tell any one else; just
186 copy it. 192 copy it.
187 193
188 If you do start using the package, please send mail to 194 If you do start using the package, please send mail to
189 @samp{ilisp-request@@lehman.com} so that I can keep a mailing list of 195 @code{ilisp-request@@naggum.no} to subscribe to the ILISP mailing
190 users. 196 list.
191 197
192 Please send bugs, questions or suggestions for discussion to @samp{ilisp@@lehman.com} 198 Please send bugs, questions or suggestions for discussion to
199 @code{ilisp@@naggum.no}. Message sent there will be distributed to
200 all subscribers.
193 201
194 @menu 202 @menu
195 * FTP directions:: FTP directions 203 * FTP directions:: FTP directions
204 * WWW directions:: WWW directions
196 @end menu 205 @end menu
197 206
198 @node FTP directions, , , Distribution 207 @node FTP directions, WWW directions, , Distribution
199 @unnumberedsec FTP directions 208 @unnumberedsec FTP directions
200 @cindex FTP site 209 @cindex FTP site
201 @cindex Anonymous FTP 210 @cindex Anonymous FTP
202 @cindex How to get 211 @cindex How to get
203 @cindex Getting ILISP 212 @cindex Getting ILISP
204 @noindent 213 @noindent
205 You can anonymously ftp the source files from FTP.CS.CMU.EDU: 214 You can get the distribution file, @code{ilisp-5.8.tar.gz} via
206 215 anonymous FTP from @code{FTP.CS.CMU.EDU} (128.2.206.173) in
207 @itemize @bullet 216 @code{/afs/cs/user/campbell/http/ilisp/}.
208 @item 217
209 Ftp to ftp.cs.cmu.edu (128.2.206.173) 218 @format
210 @item 219 % @dfn{ftp ftp.cs.cmu.edu}
211 login as anonymous, with user@@host as password 220 Name (ftp.cs.cmu.edu:rickc): @dfn{anonymous}
212 @item 221 331 Guest login ok, send username@@node as password.
213 @code{cd /user/ai/lang/lisp/util/emacs/ilisp/57} 222 Password: @dfn{@var{your-user-id@@your-hostname}}
214 @item 223 ftp> @dfn{cd /afs/cs/user/campbell/http/ilisp}
215 @code{binary} 224 250 Directory path set to /afs/cs/user/campbell/http/ilisp.
216 @item 225 ftp> @dfn{type binary}
217 @code{get ilisp.tgz} 226 200 Type set to I.
218 @end itemize 227 ftp> @dfn{get ilisp-5.8.tar.gz}
228 200 PORT command successful.
229 150 Opening data connection for ilisp-5.8.tar.gz.
230 226 Transfer complete.
231 local: ilisp-5.8.tar.gz remote: ilisp-5.8.tar.gz
232 168801 bytes received.
233 ftp> @dfn{quit}
234 221 Goodbye.
235 @end format
219 236
220 @noindent 237 @noindent
221 Or get whatever single files you need. 238 Or get whatever single files you need from the @code{untarred}
239 subdirectory.
240
241 @noindent
242 You can also get @code{ilisp-5.8.tar.gz} via
243 anonymous FTP from @code{FTP.ICSI.BERKELEY.EDU} in either
244 @code{/pub/software/elisp/} or @code{/pub/theory/marcoxa/elisp/}.
222 245
223 @noindent 246 @noindent
224 Unpack and install: 247 Unpack and install:
225 248
226 @code{uncompress ilisp.tar.Z; tar xf ilisp.tar} 249 @code{% @dfn{gzip -dc ilisp-5.8.tar.gz | tar xf -}}
227 250
228 @xref{Installation}. 251 @xref{Installation}.
229 252
230 If you want to use Thinking Machines' completion code, then Ftp it from 253 @node WWW directions, , FTP directions, Distribution
231 THINK.COM 254 @unnumberedsec WWW directions
232 255 @cindex WWW site
233 It no longer comes as part of the distribution. 256 @cindex How to get
257 @cindex Getting ILISP
258 @noindent
259 You can use the World Wide Web (WWW) to get the distribution file from
260 the anonymous FTP locations using one of the following URLs:
261 @itemize @bullet
262 @item
263 @code{ftp://ftp.cs.cmu.edu/afs/cs/user/campbell/http/ilisp/ilisp-5.8.tar.gz}
264 @item
265 @code{ftp://ftp.icsi.berkeley.edu/pub/software/elisp/ilisp-5.8.tar.gz}
266 @item
267 @code{ftp://ftp.icsi.berkeley.edu/pub/theory/marcoxa/ilisp-5.8.tar.gz}
268 @end itemize
269
270 You can also use the CMU Artificial Intelligence Repository:
271
272 @code{http://www.cs.cmu.edu/Web/Groups/AI/html/repository.html}
273
274 @noindent
275 From there follow: @code{LISP}, @code{UTIL}, @code{EMACS} and finally
276 @code{ILISP}. Use your browser capabilities to download what you
277 need.
278
279 @noindent
280 The complete URL for the distribution file in the CMU AI Repository is
281 @code{http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/util/emacs/ilisp/v57/ilisp57.tgz}
282
283 @noindent
284 Other URLs for the distribution file include:
285 @itemize @bullet
286 @item
287 @code{http://www.c2.net/~campbell/ilisp/ilisp-5.8.tar.gz}
288 @item
289 @code{http://www.cs.cmu.edu/~campbell/ilisp/ilisp-5.8.tar.gz}
290 @end itemize
291
292 @noindent
293 Unpack and install:
294
295 @code{% @dfn{gzip -dc ilisp-5.8.tar.gz | tar xf -}}
296
297 @xref{Installation}.
234 298
235 @node Acknowledgements, Introduction, Distribution, Top 299 @node Acknowledgements, Introduction, Distribution, Top
236 @unnumbered Acknowledgements 300 @unnumbered Acknowledgements
237 301
238 ILISP replaces the standard inferior LISP mode. ILISP is based on 302 ILISP replaces the standard inferior LISP mode. ILISP is based on
239 comint mode and derived from a number of different interfaces including 303 comint mode and derived from a number of different interfaces including
240 Symbolics, cmulisp, and Thinking Machines. 304 Symbolics, CMU Common Lisp, and Thinking Machines.
241 305
242 There are many people that have taken the time to report bugs, make 306 There are many people that have taken the time to report bugs, make
243 suggestions and even better send code to fix bugs or implement new 307 suggestions and even better send code to fix bugs or implement new
244 features. 308 features.
245 309
246 Thanks to Neil Smithline, David Braunegg, Fred White, Jim Healy, Larry 310 Thanks to Guido Bosch, David Braunegg, Tim Bradshaw, Thomas M. Breuel,
247 Stead, Hans Chalupsky, Michael Ernst, Frank Ritter, Tom Emerson, David 311 Hans Chalupsky, Kimball Collins, Brian Dennis, David Duff, Tom
248 Duff, Dan Pierson, Michael Kashket, Jamie Zawinski, Bjorn Victor, Brian 312 Emerson, Michael Ernst, Scott Fahlman, David Gadbois, Robert
249 Dennis, Guido Bosch, Chuck Irvine, Thomas M. Breuel, Ben Hyde, Paul 313 P. Goldman, Marty Hall, Richard Harris, Jim Healy, Christopher Hoover,
250 Fuqua (for the CMU-CL GC display code) and Marco Antoniotti for bug 314 Larry Hunter, Ben Hyde, Chuck Irvine, Michael Kashket, Mark
251 reports, suggestions and code. My apologies to those whom I may have 315 Kantrowitz, Qiegang Long, Erik Naggum, Dan Pierson, Yusuf Pisan, Frank
252 forgotten. 316 Ritter, Jeffrey Mark Siskind, Neil Smithline, Richard Stallman, Larry
317 Stead, Jason Trenouth, Christof Ullwer, Bjorn Victor, Fred White, Ben
318 Wing, Matsuo Yoshihiro, Jamie Zawinski, Paul Fuqua (for the CMU-CL GC
319 display code) and Marco Antoniotti for bug reports, suggestions and
320 code. Our apologies to anyone we may have forgotten.
253 321
254 Special thanks to Todd Kaufmann for the texinfo file, work on bridge, 322 Special thanks to Todd Kaufmann for the texinfo file, work on bridge,
255 epoch-pop and for really exercising everything. 323 epoch-pop and for really exercising everything.
256 324
257 Please send bug reports, fixes and extensions to 325 Please send bug reports, fixes and extensions to
258 @samp{ilisp@@lehman.com} so I can merge them into the master 326 @code{ilisp@@naggum.no} so that they can be merged into the master
259 source. 327 source.
260 @noindent 328 @noindent
261 @example 329 @example
262 --Chris McConnell 18-Mar-91 330 --Chris McConnell 18-Mar-91
263 --Ivan Vazquez 27-Jun-93 331 --Ivan Vazquez 27-Jun-93
332 --Marco Antoniotti and Rick Campbell 25-Oct-96
264 @end example 333 @end example
265 334
266 335
267 @node Introduction, Installation, Acknowledgements, Top 336 @node Introduction, Installation, Acknowledgements, Top
268 @unnumbered Introduction 337 @unnumbered Introduction
271 ILISP is an interface from GNU Emacs to an inferior LISP. It has the 340 ILISP is an interface from GNU Emacs to an inferior LISP. It has the
272 following features: 341 following features:
273 342
274 @itemize @bullet 343 @itemize @bullet
275 @item 344 @item
276 Runs under emacs-18, fsf emacs-19, and Lucid emacs-19. 345 Runs under Emacs-18, Emacs-19, and XEmacs-19.
277 346
278 @item 347 @item
279 Support for multiple LISP dialects including Lucid, Allegro and CMU 348 Support for multiple LISP dialects including Lucid, Allegro and CMU
280 on multiple machines even at the same time. 349 on multiple machines even at the same time.
281 350
347 sections carefully before getting started with ILISP. 416 sections carefully before getting started with ILISP.
348 417
349 If ILISP has already been installed at your location, you can probably 418 If ILISP has already been installed at your location, you can probably
350 skip ahead to ``Autoloading.'' 419 skip ahead to ``Autoloading.''
351 420
352 Note that jwz's byte-compiler is required when compiling ILISP. If you 421 Note that Jamie Zawinki's byte-compiler is required when compiling
353 don't have it, get it from 422 ILISP. If you don't have it, get it from
354 @code{archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/bytecomp2.tar.Z} 423 @code{ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/bytecomp2.tar.Z}
355 424
356 You don't need it if you are running emacs version 19 as both the Fsf 425 You don't need it if you are running emacs version 19 as both the FSF
357 and Lucid releases include this in their distributions. 426 and XEmacs releases include this in their distributions.
358 427
359 @menu 428 @menu
360 * Makefile configuration:: 429 * Makefile configuration::
361 * Files of ILISP:: 430 * Files of ILISP::
362 * Autoloading:: How to define autoload entries. 431 * Autoloading:: How to define autoload entries.
366 @comment node-name, next, previous, up 435 @comment node-name, next, previous, up
367 @section Makefile configuration 436 @section Makefile configuration
368 437
369 Some configuration needs to be done before compiling the emacs-lisp 438 Some configuration needs to be done before compiling the emacs-lisp
370 files that comprise ILISP. This should be done in the 439 files that comprise ILISP. This should be done in the
371 @code{Makefile-ilisp} file in the section of the file marked 440 @code{Makefile} file in the section of the file marked
372 CONFIGURATION SECTION. 441 CONFIGURATION SECTION.
373 442
374 First, set the @code{YOUR_EMACS} variable to be the pathname of the 443 First, set the @code{YOUR_EMACS} variable to be the pathname of the
375 emacs you will be using ILISP with. This is the emacs that will be used 444 emacs you will be using ILISP with. This is the emacs that will be used
376 to compile ILISP with. 445 to compile ILISP with.
377 446
378 If you don't have jwz's byte compiler in your standard load path then 447 If you don't have Jamie Zawinski's byte compiler in your standard load
379 you will have to uncomment the @code{BYTECOMP} line and set it to point 448 path ( both FSF's 19 and XEmacs 19 do have enhaced versions of it )
380 to the correct location of the bytecomp files. 449 then you will have to uncomment the @code{BYTECOMP} line and set it to
381 450 point to the correct location of the bytecomp files.
382 If you do not have comint already in your emacs ( both Fsf 19 and Lucid 451
452 If you do not have comint already in your emacs ( both FSF 19 and XEmacs
383 19 do ) then uncomment the @code{USE_BUNDLED_COMINT} line. This will 453 19 do ) then uncomment the @code{USE_BUNDLED_COMINT} line. This will
384 cause the copy of @code{comint.el} to be moved from the @code{Extras} 454 cause the copy of @code{comint.el} to be moved from the @code{Extras}
385 directory into the main ILISP directory. 455 directory into the main ILISP directory.
386 456
387 The advice section is left uncommented out in the distributed 457 The advice section is left uncommented out in the distributed
388 @code{Makefile-ilisp} because most people will not have 458 @code{Makefile} because most people will not have
389 @code{advice.elc} in their load path. Only Lucid emacs 19.8 will have 459 @code{advice.elc} in their load path. Only XEmacs will have
390 this in the standard distribution. If you do have it in your load path, 460 this in the standard distribution. If you do have it in your load path,
391 then to avoid having two copies in your load-path and avoiding future 461 then to avoid having two copies in your load-path and avoiding future
392 confusion then comment out both the @code{ADVICE} and 462 confusion then comment out both the @code{ADVICE} and
393 @code{USE_BUNDLED_ADVICE} lines. 463 @code{USE_BUNDLED_ADVICE} lines.
394 464
401 @vindex ilisp-init-binary-command 471 @vindex ilisp-init-binary-command
402 @vindex ilisp-init-binary-extension 472 @vindex ilisp-init-binary-extension
403 473
404 You can then compile everything with the shell command 474 You can then compile everything with the shell command
405 475
406 @code{make -f Makefile-ilisp <your target here>'} 476 @code{% @dfn{make -f Makefile-ilisp }}@dfn{@var{<your target here>}}
407 477
408 Where the possible targets are @code{emacs_18}, @code{emacs_18_epoch}, 478 Where the possible targets are @code{emacs_18}, @code{emacs_18_epoch},
409 @code{emacs_18_menu}, and @code{emacs_19}. 479 @code{emacs_18_menu}, and @code{emacs_19}.
410 480
411 Ignore any compilation warnings unless they result in ILISP not 481 Ignore any compilation warnings unless they result in ILISP not
416 who will be using ILISP. 486 who will be using ILISP.
417 487
418 You should add the directory where all of the ILISP emacs-lisp files 488 You should add the directory where all of the ILISP emacs-lisp files
419 reside to your @code{load-path}. There is an example of this in 489 reside to your @code{load-path}. There is an example of this in
420 @code{ilisp.emacs} 490 @code{ilisp.emacs}
491
492 As an alternative you could set up a @code{.ilisp} which contains the
493 appropriate portions of @code{ilisp.emacs}, in order to avoid cluttering
494 too much @code{.emacs} or @code{default.el}
421 495
422 The first time a dialect is started, the interface files will complain 496 The first time a dialect is started, the interface files will complain
423 about not being compiled, just hit @kbd{i} to ignore the message. Once 497 about not being compiled, just hit @kbd{i} to ignore the message. Once
424 a lisp dialect is started up, you should execute the command 498 a lisp dialect is started up, you should execute the command
425 @code{ilisp-compile-inits} which will compile the @samp{*.lisp} files 499 @code{ilisp-compile-inits} which will compile the @samp{*.lisp} files
645 ;;; where to get it. This may or may not be necessary. 719 ;;; where to get it. This may or may not be necessary.
646 (setq load-path (cons (expand-file-name "~jones/emacs/ilisp/") load-path)) 720 (setq load-path (cons (expand-file-name "~jones/emacs/ilisp/") load-path))
647 721
648 ;;; If you always want partial minibuffer completion 722 ;;; If you always want partial minibuffer completion
649 (require 'completer) 723 (require 'completer)
650
651 ;;; If want TMC completion then you will have to Ftp it yourself from think.com
652 ;;; It's become to flaky for me to deal with. -- Ivan
653 ;;;(load "completion")
654 ;;;(initialize-completions)
655 724
656 ;;; If you want to redefine typeout-window keys: 725 ;;; If you want to redefine typeout-window keys:
657 (add-hook 'ilisp-load-hook 726 (add-hook 'ilisp-load-hook
658 '(lambda () 727 '(lambda ()
659 (define-key global-map "\C-c1" 'ilisp-bury-output) 728 (define-key global-map "\C-c1" 'ilisp-bury-output)
741 Entry into ILISP mode runs the hooks on @code{comint-mode-hook} and 810 Entry into ILISP mode runs the hooks on @code{comint-mode-hook} and
742 @code{ilisp-mode-hook} and then DIALECT-hooks specific to LISP 811 @code{ilisp-mode-hook} and then DIALECT-hooks specific to LISP
743 dialects in the nesting order above. Many dialects call 812 dialects in the nesting order above. Many dialects call
744 @code{ilisp-load-init} in their dialect setup. 813 @code{ilisp-load-init} in their dialect setup.
745 814
746 These are the currently supported dialects. The dialects 815 These are the currently supported dialects.
816
817 @itemize @bullet
818 @item allegro
819 Allegro Common Lisp from Franz Inc.
820
821 @item lispworks
822 Harlequin Common Lisp from Harlequin Ltd.
823
824 @item lucid
825 Lucid Common Lisp, currently supported by Harlequin Ltd.
826
827 @item kcl
828 Kyoto Common Lisp, original version.
829
830 @item akcl
831 Austin Kyoto Common Lisp, the U. Texas derivative.
832
833 @item gcl
834 GNU Common Lisp, the official GNU release. A derivative of AKCL.
835
836 @item ecl
837 EcoLisp, the Embeddable Common Lisp by Beppe Attardi. A derivative of
838 KCL and AKCL.
839
840 @item ibcl
841 Ibuki Common Lisp, derived from KCL.
842
843 @item cmucl
844 CMU Common Lisp, the major development platform for ILISP so far.
845
846 @item clisp-hs
847 CLISP by Haible and Stoll.
848
849 @item oaklisp
850 Oaklisp scheme.
851
852 @end itemize
853
854 The dialects
747 are listed so that the indentation correponds to the hierarchical 855 are listed so that the indentation correponds to the hierarchical
748 relationship between dialects. 856 relationship between dialects.
749 @example 857 @example
750 clisp 858 clisp
751 allegro 859 allegro
752 lucid 860 lucid
753 kcl 861 kcl
754 akcl 862 akcl
863 gcl
864 ecl
755 ibcl 865 ibcl
756 cmulisp 866 cmulisp
867 clisp-hs
868 lispworks
757 scheme 869 scheme
758 oaklisp 870 oaklisp
759 @end example 871 @end example
760 872
761 If anyone figures out support for other dialects I would be happy 873 If anyone figures out support for other dialects I would be happy