annotate lisp/progmodes/inf-lisp.el @ 69478:e8bb5df2ba7a

Add index entries around each paragraph rather than depend on entries from beginning of node. Doing so ensures that index entries are less likely to be forgotten if text is cut and pasted, and are necessary anyway if the references are on a separate page. It seems that makeinfo is now (v. 4.8) only producing one index entry per node, so there is no longer any excuse not to. Use subheading instead of heading. The incorrect use of heading produced very large fonts in Info--as large as the main heading. (From Bill Wohler): MH-E never did appear in Emacs 21--MH-E versions 6 and 7 appeared *around* the time of these Emacs releases.
author Bill Wohler <wohler@newt.com>
date Wed, 15 Mar 2006 00:26:12 +0000
parents dc49655f57ae
children 12144c8b3b94 4b3d39451150
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
1 ;;; inf-lisp.el --- an inferior-lisp mode
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
2
68773
dc49655f57ae Update copyright for 2006.
Nick Roberts <nickrob@snap.net.nz>
parents: 64699
diff changeset
3 ;; Copyright (C) 1988, 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006
64699
629afbe74e61 Update copyright for release of 22.1 for progmodes directory.
Nick Roberts <nickrob@snap.net.nz>
parents: 64085
diff changeset
4 ;; Free Software Foundation, Inc.
846
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 836
diff changeset
5
798
b7932f859d4e *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 727
diff changeset
6 ;; Author: Olin Shivers <shivers@cs.cmu.edu>
2247
2c7997f249eb Add or correct keywords
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 957
diff changeset
7 ;; Keywords: processes, lisp
798
b7932f859d4e *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 727
diff changeset
8
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
9 ;; This file is part of GNU Emacs.
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
10
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
14 ;; any later version.
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
15
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
19 ;; GNU General Public License for more details.
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
20
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
21 ;; You should have received a copy of the GNU General Public License
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
64085
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63519
diff changeset
23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18a818a2ee7c Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63519
diff changeset
24 ;; Boston, MA 02110-1301, USA.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
798
b7932f859d4e *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 727
diff changeset
26 ;;; Commentary:
b7932f859d4e *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 727
diff changeset
27
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
28 ;; Hacked from tea.el by Olin Shivers (shivers@cs.cmu.edu). 8/88
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29
46153
654257005f05 Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 42205
diff changeset
30 ;; This file defines a lisp-in-a-buffer package (inferior-lisp mode)
46158
61df14a62e39 Fix spacing (garbled by previous patch).
Juanma Barranquero <lekktu@gmail.com>
parents: 46153
diff changeset
31 ;; built on top of comint mode. This version is more featureful,
61df14a62e39 Fix spacing (garbled by previous patch).
Juanma Barranquero <lekktu@gmail.com>
parents: 46153
diff changeset
32 ;; robust, and uniform than the Emacs 18 version. The key bindings are
46153
654257005f05 Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 42205
diff changeset
33 ;; also more compatible with the bindings of Hemlock and Zwei (the
654257005f05 Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 42205
diff changeset
34 ;; Lisp Machine emacs).
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
36 ;; Since this mode is built on top of the general command-interpreter-in-
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
37 ;; a-buffer mode (comint mode), it shares a common base functionality,
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
38 ;; and a common set of bindings, with all modes derived from comint mode.
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
39 ;; This makes these modes easier to use.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
41 ;; For documentation on the functionality provided by comint mode, and
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
42 ;; the hooks available for customising it, see the file comint.el.
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
43 ;; For further information on inferior-lisp mode, see the comments below.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
45 ;; Needs fixin:
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
46 ;; The load-file/compile-file default mechanism could be smarter -- it
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
47 ;; doesn't know about the relationship between filename extensions and
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
48 ;; whether the file is source or executable. If you compile foo.lisp
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
49 ;; with compile-file, then the next load-file should use foo.bin for
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
50 ;; the default, not foo.lisp. This is tricky to do right, particularly
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
51 ;; because the extension for executable files varies so much (.o, .bin,
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
52 ;; .lbin, .mo, .vo, .ao, ...).
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
53 ;;
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
54 ;; It would be nice if inferior-lisp (and inferior scheme, T, ...) modes
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
55 ;; had a verbose minor mode wherein sending or compiling defuns, etc.
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
56 ;; would be reflected in the transcript with suitable comments, e.g.
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
57 ;; ";;; redefining fact". Several ways to do this. Which is right?
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
58 ;;
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
59 ;; When sending text from a source file to a subprocess, the process-mark can
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
60 ;; move off the window, so you can lose sight of the process interactions.
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
61 ;; Maybe I should ensure the process mark is in the window when I send
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 13644
diff changeset
62 ;; text to the process? Switch selectable?
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63
798
b7932f859d4e *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 727
diff changeset
64 ;;; Code:
b7932f859d4e *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 727
diff changeset
65
b7932f859d4e *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 727
diff changeset
66 (require 'comint)
836
a7cc5061c4de *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 835
diff changeset
67 (require 'lisp-mode)
a7cc5061c4de *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 835
diff changeset
68
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
70 (defgroup inferior-lisp nil
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
71 "Run an outside Lisp in an Emacs buffer."
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
72 :group 'lisp
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
73 :version "22.1")
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
74
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 925
diff changeset
75 ;;;###autoload
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
76 (defcustom inferior-lisp-filter-regexp
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
77 "\\`\\s *\\(:\\(\\w\\|\\s_\\)\\)?\\s *\\'"
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
78 "*What not to save on inferior Lisp's input history.
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
79 Input matching this regexp is not saved on the input history in Inferior Lisp
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
80 mode. Default is whitespace followed by 0 or 1 single-letter colon-keyword
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
81 \(as in :a, :c, etc.)"
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
82 :type 'regexp
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
83 :group 'inferior-lisp)
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
85 (defvar inferior-lisp-mode-map nil)
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
86 (unless inferior-lisp-mode-map
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
87 (setq inferior-lisp-mode-map (copy-keymap comint-mode-map))
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
88 (set-keymap-parent inferior-lisp-mode-map lisp-mode-shared-map)
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
89 (define-key inferior-lisp-mode-map "\C-x\C-e" 'lisp-eval-last-sexp)
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
90 (define-key inferior-lisp-mode-map "\C-c\C-l" 'lisp-load-file)
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
91 (define-key inferior-lisp-mode-map "\C-c\C-k" 'lisp-compile-file)
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
92 (define-key inferior-lisp-mode-map "\C-c\C-a" 'lisp-show-arglist)
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
93 (define-key inferior-lisp-mode-map "\C-c\C-d" 'lisp-describe-sym)
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
94 (define-key inferior-lisp-mode-map "\C-c\C-f"
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
95 'lisp-show-function-documentation)
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
96 (define-key inferior-lisp-mode-map "\C-c\C-v"
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
97 'lisp-show-variable-documentation))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99 ;;; These commands augment Lisp mode, so you can process Lisp code in
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 ;;; the source files.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 (define-key lisp-mode-map "\M-\C-x" 'lisp-eval-defun) ; Gnu convention
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102 (define-key lisp-mode-map "\C-x\C-e" 'lisp-eval-last-sexp) ; Gnu convention
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103 (define-key lisp-mode-map "\C-c\C-e" 'lisp-eval-defun)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104 (define-key lisp-mode-map "\C-c\C-r" 'lisp-eval-region)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105 (define-key lisp-mode-map "\C-c\C-c" 'lisp-compile-defun)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106 (define-key lisp-mode-map "\C-c\C-z" 'switch-to-lisp)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107 (define-key lisp-mode-map "\C-c\C-l" 'lisp-load-file)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 (define-key lisp-mode-map "\C-c\C-k" 'lisp-compile-file) ; "kompile" file
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 (define-key lisp-mode-map "\C-c\C-a" 'lisp-show-arglist)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 (define-key lisp-mode-map "\C-c\C-d" 'lisp-describe-sym)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 (define-key lisp-mode-map "\C-c\C-f" 'lisp-show-function-documentation)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 (define-key lisp-mode-map "\C-c\C-v" 'lisp-show-variable-documentation)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
115 ;;; This function exists for backwards compatibility.
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
116 ;;; Previous versions of this package bound commands to C-c <letter>
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
117 ;;; bindings, which is not allowed by the gnumacs standard.
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
118
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
119 ;;; "This function binds many inferior-lisp commands to C-c <letter> bindings,
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
120 ;;;where they are more accessible. C-c <letter> bindings are reserved for the
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
121 ;;;user, so these bindings are non-standard. If you want them, you should
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
122 ;;;have this function called by the inferior-lisp-load-hook:
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
123 ;;; (add-hook 'inferior-lisp-load-hook 'inferior-lisp-install-letter-bindings)
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
124 ;;;You can modify this function to install just the bindings you want."
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
125 (defun inferior-lisp-install-letter-bindings ()
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
126 (define-key lisp-mode-map "\C-ce" 'lisp-eval-defun-and-go)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
127 (define-key lisp-mode-map "\C-cr" 'lisp-eval-region-and-go)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
128 (define-key lisp-mode-map "\C-cc" 'lisp-compile-defun-and-go)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
129 (define-key lisp-mode-map "\C-cz" 'switch-to-lisp)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
130 (define-key lisp-mode-map "\C-cl" 'lisp-load-file)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
131 (define-key lisp-mode-map "\C-ck" 'lisp-compile-file)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
132 (define-key lisp-mode-map "\C-ca" 'lisp-show-arglist)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
133 (define-key lisp-mode-map "\C-cd" 'lisp-describe-sym)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
134 (define-key lisp-mode-map "\C-cf" 'lisp-show-function-documentation)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
135 (define-key lisp-mode-map "\C-cv" 'lisp-show-variable-documentation)
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
136
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
137 (define-key inferior-lisp-mode-map "\C-cl" 'lisp-load-file)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
138 (define-key inferior-lisp-mode-map "\C-ck" 'lisp-compile-file)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
139 (define-key inferior-lisp-mode-map "\C-ca" 'lisp-show-arglist)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
140 (define-key inferior-lisp-mode-map "\C-cd" 'lisp-describe-sym)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
141 (define-key inferior-lisp-mode-map "\C-cf" 'lisp-show-function-documentation)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
142 (define-key inferior-lisp-mode-map "\C-cv"
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
143 'lisp-show-variable-documentation))
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
144
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
145 ;;;###autoload
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
146 (defcustom inferior-lisp-program "lisp"
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
147 "*Program name for invoking an inferior Lisp in Inferior Lisp mode."
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
148 :type 'string
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
149 :group 'inferior-lisp)
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
150
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 925
diff changeset
151 ;;;###autoload
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
152 (defcustom inferior-lisp-load-command "(load \"%s\")\n"
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153 "*Format-string for building a Lisp expression to load a file.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
154 This format string should use `%s' to substitute a file name
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155 and should result in a Lisp expression that will command the inferior Lisp
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156 to load that file. The default works acceptably on most Lisps.
13644
e36da6ad58fe (inferior-lisp-load-command): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 12868
diff changeset
157 The string \"(progn (load \\\"%s\\\" :verbose nil :print t) (values))\\n\"
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
158 produces cosmetically superior output for this application,
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
159 but it works only in Common Lisp."
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
160 :type 'string
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
161 :group 'inferior-lisp)
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
162
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 925
diff changeset
163 ;;;###autoload
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
164 (defcustom inferior-lisp-prompt "^[^> \n]*>+:? *"
63519
e33c4b9caa8a (inferior-lisp-prompt): Fix spelling in docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents: 62874
diff changeset
165 "Regexp to recognize prompts in the Inferior Lisp mode.
5303
8e6ba05e1271 (inferior-lisp-prompt): Don't match more than one line.
Richard M. Stallman <rms@gnu.org>
parents: 5104
diff changeset
166 Defaults to \"^[^> \\n]*>+:? *\", which works pretty good for Lucid, kcl,
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
167 and franz. This variable is used to initialize `comint-prompt-regexp' in the
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
168 Inferior Lisp buffer.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169
30647
9d266998439c (inferior-lisp-prompt): Doc change.
Miles Bader <miles@gnu.org>
parents: 28656
diff changeset
170 This variable is only used if the variable
61877
395f55ef5adc (inferior-lisp-prompt): Doc fix.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61707
diff changeset
171 `comint-use-prompt-regexp' is non-nil.
30647
9d266998439c (inferior-lisp-prompt): Doc change.
Miles Bader <miles@gnu.org>
parents: 28656
diff changeset
172
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
173 More precise choices:
13644
e36da6ad58fe (inferior-lisp-load-command): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 12868
diff changeset
174 Lucid Common Lisp: \"^\\\\(>\\\\|\\\\(->\\\\)+\\\\) *\"
e36da6ad58fe (inferior-lisp-load-command): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents: 12868
diff changeset
175 franz: \"^\\\\(->\\\\|<[0-9]*>:\\\\) *\"
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
176 kcl: \"^>+ *\"
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
177
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
178 This is a fine thing to set in your .emacs file or through Custom."
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
179 :type 'regexp
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
180 :group 'inferior-lisp)
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
181
3744
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
182 (defvar inferior-lisp-buffer nil "*The current inferior-lisp process buffer.
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
183
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
184 MULTIPLE PROCESS SUPPORT
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
185 ===========================================================================
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
186 To run multiple Lisp processes, you start the first up
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
187 with \\[inferior-lisp]. It will be in a buffer named `*inferior-lisp*'.
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
188 Rename this buffer with \\[rename-buffer]. You may now start up a new
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
189 process with another \\[inferior-lisp]. It will be in a new buffer,
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
190 named `*inferior-lisp*'. You can switch between the different process
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
191 buffers with \\[switch-to-buffer].
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
192
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
193 Commands that send text from source buffers to Lisp processes --
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
194 like `lisp-eval-defun' or `lisp-show-arglist' -- have to choose a process
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
195 to send to, when you have more than one Lisp process around. This
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
196 is determined by the global variable `inferior-lisp-buffer'. Suppose you
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
197 have three inferior Lisps running:
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
198 Buffer Process
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
199 foo inferior-lisp
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
200 bar inferior-lisp<2>
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
201 *inferior-lisp* inferior-lisp<3>
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
202 If you do a \\[lisp-eval-defun] command on some Lisp source code,
3744
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
203 what process do you send it to?
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
204
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
205 - If you're in a process buffer (foo, bar, or *inferior-lisp*),
3744
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
206 you send it to that process.
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
207 - If you're in some other buffer (e.g., a source file), you
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
208 send it to the process attached to buffer `inferior-lisp-buffer'.
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
209 This process selection is performed by function `inferior-lisp-proc'.
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
210
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
211 Whenever \\[inferior-lisp] fires up a new process, it resets
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
212 `inferior-lisp-buffer' to be the new process's buffer. If you only run
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
213 one process, this does the right thing. If you run multiple
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
214 processes, you can change `inferior-lisp-buffer' to another process
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
215 buffer with \\[set-variable].")
f344542ac7fd (inferior-lisp-buffer): Move defvar earlier.
Richard M. Stallman <rms@gnu.org>
parents: 3663
diff changeset
216
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 925
diff changeset
217 ;;;###autoload
62270
a5516bad2c77 (inferior-lisp-mode-hook, inferior-lisp-load-hook): Convert defcustoms
Luc Teirlinck <teirllm@auburn.edu>
parents: 61877
diff changeset
218 (defvar inferior-lisp-mode-hook '()
a5516bad2c77 (inferior-lisp-mode-hook, inferior-lisp-load-hook): Convert defcustoms
Luc Teirlinck <teirllm@auburn.edu>
parents: 61877
diff changeset
219 "*Hook for customising Inferior Lisp mode.")
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
220
17654
9005c1013176 (inferior-lisp-mode): Add a mode-class property.
Richard M. Stallman <rms@gnu.org>
parents: 14857
diff changeset
221 (put 'inferior-lisp-mode 'mode-class 'special)
9005c1013176 (inferior-lisp-mode): Add a mode-class property.
Richard M. Stallman <rms@gnu.org>
parents: 14857
diff changeset
222
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
223 (defun inferior-lisp-mode ()
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
224 "Major mode for interacting with an inferior Lisp process.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
225 Runs a Lisp interpreter as a subprocess of Emacs, with Lisp I/O through an
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
226 Emacs buffer. Variable `inferior-lisp-program' controls which Lisp interpreter
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
227 is run. Variables `inferior-lisp-prompt', `inferior-lisp-filter-regexp' and
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
228 `inferior-lisp-load-command' can customize this mode for different Lisp
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
229 interpreters.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
230
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
231 For information on running multiple processes in multiple buffers, see
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
232 documentation for variable `inferior-lisp-buffer'.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
233
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
234 \\{inferior-lisp-mode-map}
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
236 Customisation: Entry to this mode runs the hooks on `comint-mode-hook' and
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
237 `inferior-lisp-mode-hook' (in that order).
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
238
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
239 You can send text to the inferior Lisp process from other buffers containing
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
240 Lisp source.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
241 switch-to-lisp switches the current buffer to the Lisp process buffer.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242 lisp-eval-defun sends the current defun to the Lisp process.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
243 lisp-compile-defun compiles the current defun.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
244 lisp-eval-region sends the current region to the Lisp process.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245 lisp-compile-region compiles the current region.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
246
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
247 Prefixing the lisp-eval/compile-defun/region commands with
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
248 a \\[universal-argument] causes a switch to the Lisp process buffer after sending
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
249 the text.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
250
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
251 Commands:
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
252 Return after the end of the process' output sends the text from the
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
253 end of process to point.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254 Return before the end of the process' output copies the sexp ending at point
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
255 to the end of the process' output, and sends it.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
256 Delete converts tabs to spaces as it moves back.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
257 Tab indents for Lisp; with argument, shifts rest
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
258 of expression rigidly with the current line.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
259 C-M-q does Tab on each line starting within following expression.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
260 Paragraphs are separated only by blank lines. Semicolons start comments.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
261 If you accidentally suspend your process, use \\[comint-continue-subjob]
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
262 to continue it."
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263 (interactive)
62874
e179d5e9c0fe (inferior-lisp-mode): Use delay-mode-hooks.
Luc Teirlinck <teirllm@auburn.edu>
parents: 62772
diff changeset
264 (delay-mode-hooks
e179d5e9c0fe (inferior-lisp-mode): Use delay-mode-hooks.
Luc Teirlinck <teirllm@auburn.edu>
parents: 62772
diff changeset
265 (comint-mode))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266 (setq comint-prompt-regexp inferior-lisp-prompt)
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
267 (setq major-mode 'inferior-lisp-mode)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
268 (setq mode-name "Inferior Lisp")
7075
7c7b98107b4c (inferior-lisp-mode): Remove space after `:' in mode-line-process.
Richard M. Stallman <rms@gnu.org>
parents: 6151
diff changeset
269 (setq mode-line-process '(":%s"))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
270 (lisp-mode-variables t)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
271 (use-local-map inferior-lisp-mode-map) ;c-c c-k for "kompile" file
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
272 (setq comint-get-old-input (function lisp-get-old-input))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273 (setq comint-input-filter (function lisp-input-filter))
62772
f2892faa87d4 * progmodes/ada-mode.el (ada-mode):
Lute Kamstra <lute@gnu.org>
parents: 62270
diff changeset
274 (run-mode-hooks 'inferior-lisp-mode-hook))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
275
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
276 (defun lisp-get-old-input ()
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
277 "Return a string containing the sexp ending at point."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278 (save-excursion
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279 (let ((end (point)))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
280 (backward-sexp)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281 (buffer-substring (point) end))))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
282
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
283 (defun lisp-input-filter (str)
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
284 "t if STR does not match `inferior-lisp-filter-regexp'."
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
285 (not (string-match inferior-lisp-filter-regexp str)))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
286
957
2619b7a9c11e entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 925
diff changeset
287 ;;;###autoload
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
288 (defun inferior-lisp (cmd)
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
289 "Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'.
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
290 If there is a process already running in `*inferior-lisp*', just switch
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
291 to that buffer.
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
292 With argument, allows you to edit the command line (default is value
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
293 of `inferior-lisp-program'). Runs the hooks from
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
294 `inferior-lisp-mode-hook' (after the `comint-mode-hook' is run).
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
295 \(Type \\[describe-mode] in the process buffer for a list of commands.)"
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
296 (interactive (list (if current-prefix-arg
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
297 (read-string "Run lisp: " inferior-lisp-program)
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
298 inferior-lisp-program)))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
299 (if (not (comint-check-proc "*inferior-lisp*"))
28656
ebc349d16eb9 (inferior-lisp-mode): Don't set
Gerd Moellmann <gerd@gnu.org>
parents: 23700
diff changeset
300 (let ((cmdlist (split-string cmd)))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
301 (set-buffer (apply (function make-comint)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
302 "inferior-lisp" (car cmdlist) nil (cdr cmdlist)))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
303 (inferior-lisp-mode)))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
304 (setq inferior-lisp-buffer "*inferior-lisp*")
12868
8c777db02099 (inferior-lisp): Use pop-to-buffer.
Richard M. Stallman <rms@gnu.org>
parents: 7639
diff changeset
305 (pop-to-buffer "*inferior-lisp*"))
8c777db02099 (inferior-lisp): Use pop-to-buffer.
Richard M. Stallman <rms@gnu.org>
parents: 7639
diff changeset
306 ;;;###autoload (add-hook 'same-window-buffer-names "*inferior-lisp*")
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
307
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
308 ;;;###autoload
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
309 (defalias 'run-lisp 'inferior-lisp)
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
310
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
311 (defun lisp-eval-region (start end &optional and-go)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
312 "Send the current region to the inferior Lisp process.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
313 Prefix argument means switch to the Lisp buffer afterwards."
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
314 (interactive "r\nP")
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
315 (comint-send-region (inferior-lisp-proc) start end)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
316 (comint-send-string (inferior-lisp-proc) "\n")
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
317 (if and-go (switch-to-lisp t)))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
318
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
319 (defun lisp-eval-defun (&optional and-go)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
320 "Send the current defun to the inferior Lisp process.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
321 Prefix argument means switch to the Lisp buffer afterwards."
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
322 (interactive "P")
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
323 (save-excursion
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
324 (end-of-defun)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
325 (skip-chars-backward " \t\n\r\f") ; Makes allegro happy
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
326 (let ((end (point)))
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
327 (beginning-of-defun)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
328 (lisp-eval-region (point) end)))
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
329 (if and-go (switch-to-lisp t)))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
330
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
331 (defun lisp-eval-last-sexp (&optional and-go)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
332 "Send the previous sexp to the inferior Lisp process.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
333 Prefix argument means switch to the Lisp buffer afterwards."
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
334 (interactive "P")
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
335 (lisp-eval-region (save-excursion (backward-sexp) (point)) (point) and-go))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
336
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
337 ;;; Common Lisp COMPILE sux.
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
338 (defun lisp-compile-region (start end &optional and-go)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
339 "Compile the current region in the inferior Lisp process.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
340 Prefix argument means switch to the Lisp buffer afterwards."
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
341 (interactive "r\nP")
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
342 (comint-send-string
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
343 (inferior-lisp-proc)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
344 (format "(funcall (compile nil `(lambda () (progn 'compile %s))))\n"
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
345 (buffer-substring start end)))
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
346 (if and-go (switch-to-lisp t)))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
347
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
348 (defun lisp-compile-defun (&optional and-go)
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
349 "Compile the current defun in the inferior Lisp process.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
350 Prefix argument means switch to the Lisp buffer afterwards."
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
351 (interactive "P")
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352 (save-excursion
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
353 (end-of-defun)
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
354 (skip-chars-backward " \t\n\r\f") ; Makes allegro happy
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
355 (let ((e (point)))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
356 (beginning-of-defun)
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
357 (lisp-compile-region (point) e)))
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
358 (if and-go (switch-to-lisp t)))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
359
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
360 (defun switch-to-lisp (eob-p)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
361 "Switch to the inferior Lisp process buffer.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
362 With argument, positions cursor at end of buffer."
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
363 (interactive "P")
23700
3be52677d330 (switch-to-lisp): if no inferior lisp present, call
Karl Heuer <kwzh@gnu.org>
parents: 17654
diff changeset
364 (if (get-buffer-process inferior-lisp-buffer)
14857
eb23eca2abf9 (switch-to-lisp): Sometimes turn on pop-up-frames.
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
365 (let ((pop-up-frames
eb23eca2abf9 (switch-to-lisp): Sometimes turn on pop-up-frames.
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
366 ;; Be willing to use another frame
eb23eca2abf9 (switch-to-lisp): Sometimes turn on pop-up-frames.
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
367 ;; that already has the window in it.
eb23eca2abf9 (switch-to-lisp): Sometimes turn on pop-up-frames.
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
368 (or pop-up-frames
eb23eca2abf9 (switch-to-lisp): Sometimes turn on pop-up-frames.
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
369 (get-buffer-window inferior-lisp-buffer t))))
eb23eca2abf9 (switch-to-lisp): Sometimes turn on pop-up-frames.
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
370 (pop-to-buffer inferior-lisp-buffer))
23700
3be52677d330 (switch-to-lisp): if no inferior lisp present, call
Karl Heuer <kwzh@gnu.org>
parents: 17654
diff changeset
371 (run-lisp inferior-lisp-program))
3be52677d330 (switch-to-lisp): if no inferior lisp present, call
Karl Heuer <kwzh@gnu.org>
parents: 17654
diff changeset
372 (when eob-p
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
373 (push-mark)
23700
3be52677d330 (switch-to-lisp): if no inferior lisp present, call
Karl Heuer <kwzh@gnu.org>
parents: 17654
diff changeset
374 (goto-char (point-max))))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
375
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
376
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
377 ;;; Now that lisp-compile/eval-defun/region takes an optional prefix arg,
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
378 ;;; these commands are redundant. But they are kept around for the user
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
379 ;;; to bind if he wishes, for backwards functionality, and because it's
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
380 ;;; easier to type C-c e than C-u C-c C-e.
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
381
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
382 (defun lisp-eval-region-and-go (start end)
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
383 "Send the current region to the inferior Lisp, and switch to its buffer."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
384 (interactive "r")
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
385 (lisp-eval-region start end t))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
386
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
387 (defun lisp-eval-defun-and-go ()
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
388 "Send the current defun to the inferior Lisp, and switch to its buffer."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
389 (interactive)
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
390 (lisp-eval-defun t))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
391
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
392 (defun lisp-compile-region-and-go (start end)
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
393 "Compile the current region in the inferior Lisp, and switch to its buffer."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
394 (interactive "r")
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
395 (lisp-compile-region start end t))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
396
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
397 (defun lisp-compile-defun-and-go ()
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
398 "Compile the current defun in the inferior Lisp, and switch to its buffer."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
399 (interactive)
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
400 (lisp-compile-defun t))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
401
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
402 ;;; A version of the form in H. Shevis' soar-mode.el package. Less robust.
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
403 ;;; (defun lisp-compile-sexp (start end)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
404 ;;; "Compile the s-expression bounded by START and END in the inferior lisp.
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
405 ;;; If the sexp isn't a DEFUN form, it is evaluated instead."
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
406 ;;; (cond ((looking-at "(defun\\s +")
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
407 ;;; (goto-char (match-end 0))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
408 ;;; (let ((name-start (point)))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
409 ;;; (forward-sexp 1)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
410 ;;; (process-send-string "inferior-lisp"
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
411 ;;; (format "(compile '%s #'(lambda "
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
412 ;;; (buffer-substring name-start
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
413 ;;; (point)))))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
414 ;;; (let ((body-start (point)))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
415 ;;; (goto-char start) (forward-sexp 1) ; Can't use end-of-defun.
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
416 ;;; (process-send-region "inferior-lisp"
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
417 ;;; (buffer-substring body-start (point))))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
418 ;;; (process-send-string "inferior-lisp" ")\n"))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
419 ;;; (t (lisp-eval-region start end)))))
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
420 ;;;
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
421 ;;; (defun lisp-compile-region (start end)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
422 ;;; "Each s-expression in the current region is compiled (if a DEFUN)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
423 ;;; or evaluated (if not) in the inferior lisp."
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
424 ;;; (interactive "r")
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
425 ;;; (save-excursion
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
426 ;;; (goto-char start) (end-of-defun) (beginning-of-defun) ; error check
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
427 ;;; (if (< (point) start) (error "region begins in middle of defun"))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
428 ;;; (goto-char start)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
429 ;;; (let ((s start))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
430 ;;; (end-of-defun)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
431 ;;; (while (<= (point) end) ; Zip through
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
432 ;;; (lisp-compile-sexp s (point)) ; compiling up defun-sized chunks.
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
433 ;;; (setq s (point))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
434 ;;; (end-of-defun))
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
435 ;;; (if (< s end) (lisp-compile-sexp s end)))))
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
436 ;;;
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
437 ;;; End of HS-style code
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
438
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
439
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
440 (defvar lisp-prev-l/c-dir/file nil
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
441 "Record last directory and file used in loading or compiling.
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
442 This holds a cons cell of the form `(DIRECTORY . FILE)'
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
443 describing the last `lisp-load-file' or `lisp-compile-file' command.")
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
444
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
445 (defcustom lisp-source-modes '(lisp-mode)
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
446 "*Used to determine if a buffer contains Lisp source code.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
447 If it's loaded into a buffer that is in one of these major modes, it's
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
448 considered a Lisp source file by `lisp-load-file' and `lisp-compile-file'.
61707
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
449 Used by these commands to determine defaults."
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
450 :type '(repeat symbol)
5a21477f3dd8 (inferior-lisp): New defgroup.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52401
diff changeset
451 :group 'inferior-lisp)
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
452
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
453 (defun lisp-load-file (file-name)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
454 "Load a Lisp file into the inferior Lisp process."
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
455 (interactive (comint-get-source "Load Lisp file: " lisp-prev-l/c-dir/file
42205
7308bbc423d5 Doc fixes.
Pavel Janík <Pavel@Janik.cz>
parents: 32367
diff changeset
456 lisp-source-modes nil)) ; nil because LOAD
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
457 ; doesn't need an exact name
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
458 (comint-check-source file-name) ; Check to see if buffer needs saved.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
459 (setq lisp-prev-l/c-dir/file (cons (file-name-directory file-name)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
460 (file-name-nondirectory file-name)))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
461 (comint-send-string (inferior-lisp-proc)
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
462 (format inferior-lisp-load-command file-name))
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
463 (switch-to-lisp t))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
464
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
465
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
466 (defun lisp-compile-file (file-name)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
467 "Compile a Lisp file in the inferior Lisp process."
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
468 (interactive (comint-get-source "Compile Lisp file: " lisp-prev-l/c-dir/file
42205
7308bbc423d5 Doc fixes.
Pavel Janík <Pavel@Janik.cz>
parents: 32367
diff changeset
469 lisp-source-modes nil)) ; nil = don't need
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
470 ; suffix .lisp
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
471 (comint-check-source file-name) ; Check to see if buffer needs saved.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
472 (setq lisp-prev-l/c-dir/file (cons (file-name-directory file-name)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
473 (file-name-nondirectory file-name)))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
474 (comint-send-string (inferior-lisp-proc) (concat "(compile-file \""
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
475 file-name
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
476 "\"\)\n"))
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
477 (switch-to-lisp t))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
478
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
479
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
480
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
481 ;;; Documentation functions: function doc, var doc, arglist, and
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
482 ;;; describe symbol.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
483 ;;; ===========================================================================
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
484
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
485 ;;; Command strings
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
486 ;;; ===============
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
487
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
488 (defvar lisp-function-doc-command
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
489 "(let ((fn '%s))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
490 (format t \"Documentation for ~a:~&~a\"
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
491 fn (documentation fn 'function))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
492 (values))\n"
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
493 "Command to query inferior Lisp for a function's documentation.")
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
494
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
495 (defvar lisp-var-doc-command
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
496 "(let ((v '%s))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
497 (format t \"Documentation for ~a:~&~a\"
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
498 v (documentation v 'variable))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
499 (values))\n"
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
500 "Command to query inferior Lisp for a variable's documentation.")
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
501
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
502 (defvar lisp-arglist-command
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
503 "(let ((fn '%s))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
504 (format t \"Arglist for ~a: ~a\" fn (arglist fn))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
505 (values))\n"
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
506 "Command to query inferior Lisp for a function's arglist.")
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
507
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
508 (defvar lisp-describe-sym-command
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
509 "(describe '%s)\n"
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
510 "Command to query inferior Lisp for a variable's documentation.")
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
511
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
512
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
513 ;;; Ancillary functions
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
514 ;;; ===================
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
515
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
516 ;;; Reads a string from the user.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
517 (defun lisp-symprompt (prompt default)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
518 (list (let* ((prompt (if default
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
519 (format "%s (default %s): " prompt default)
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
520 (concat prompt ": ")))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
521 (ans (read-string prompt)))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
522 (if (zerop (length ans)) default ans))))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
523
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
524
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
525 ;;; Adapted from function-called-at-point in help.el.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
526 (defun lisp-fn-called-at-pt ()
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
527 "Returns the name of the function called in the current call.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
528 The value is nil if it can't find one."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
529 (condition-case nil
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
530 (save-excursion
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
531 (save-restriction
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
532 (narrow-to-region (max (point-min) (- (point) 1000)) (point-max))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
533 (backward-up-list 1)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
534 (forward-char 1)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
535 (let ((obj (read (current-buffer))))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
536 (and (symbolp obj) obj))))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
537 (error nil)))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
538
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
539
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
540 ;;; Adapted from variable-at-point in help.el.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
541 (defun lisp-var-at-pt ()
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
542 (condition-case ()
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
543 (save-excursion
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
544 (forward-sexp -1)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
545 (skip-chars-forward "'")
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
546 (let ((obj (read (current-buffer))))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
547 (and (symbolp obj) obj)))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
548 (error nil)))
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
549
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
550
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
551 ;;; Documentation functions: fn and var doc, arglist, and symbol describe.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
552 ;;; ======================================================================
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
553
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
554 (defun lisp-show-function-documentation (fn)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
555 "Send a command to the inferior Lisp to give documentation for function FN.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
556 See variable `lisp-function-doc-command'."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
557 (interactive (lisp-symprompt "Function doc" (lisp-fn-called-at-pt)))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
558 (comint-proc-query (inferior-lisp-proc)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
559 (format lisp-function-doc-command fn)))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
560
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
561 (defun lisp-show-variable-documentation (var)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
562 "Send a command to the inferior Lisp to give documentation for function FN.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
563 See variable `lisp-var-doc-command'."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
564 (interactive (lisp-symprompt "Variable doc" (lisp-var-at-pt)))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
565 (comint-proc-query (inferior-lisp-proc) (format lisp-var-doc-command var)))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
566
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
567 (defun lisp-show-arglist (fn)
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
568 "Send a query to the inferior Lisp for the arglist for function FN.
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
569 See variable `lisp-arglist-command'."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
570 (interactive (lisp-symprompt "Arglist" (lisp-fn-called-at-pt)))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
571 (comint-proc-query (inferior-lisp-proc) (format lisp-arglist-command fn)))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
572
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
573 (defun lisp-describe-sym (sym)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
574 "Send a command to the inferior Lisp to describe symbol SYM.
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
575 See variable `lisp-describe-sym-command'."
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
576 (interactive (lisp-symprompt "Describe" (lisp-var-at-pt)))
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
577 (comint-proc-query (inferior-lisp-proc)
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
578 (format lisp-describe-sym-command sym)))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
579
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
580
3663
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
581 ;; "Returns the current inferior Lisp process.
25743b083fe8 Doc fixes.
Richard M. Stallman <rms@gnu.org>
parents: 3591
diff changeset
582 ;; See variable `inferior-lisp-buffer'."
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
583 (defun inferior-lisp-proc ()
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
584 (let ((proc (get-buffer-process (if (eq major-mode 'inferior-lisp-mode)
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
585 (current-buffer)
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
586 inferior-lisp-buffer))))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
587 (or proc
5104
bcf4b8ed1c60 (inferior-lisp-proc): Clean up error message.
Richard M. Stallman <rms@gnu.org>
parents: 3744
diff changeset
588 (error "No Lisp subprocess; see variable `inferior-lisp-buffer'"))))
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
589
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
590
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
591 ;;; Do the user's customisation...
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
592 ;;;===============================
62270
a5516bad2c77 (inferior-lisp-mode-hook, inferior-lisp-load-hook): Convert defcustoms
Luc Teirlinck <teirllm@auburn.edu>
parents: 61877
diff changeset
593 (defvar inferior-lisp-load-hook nil
a5516bad2c77 (inferior-lisp-mode-hook, inferior-lisp-load-hook): Convert defcustoms
Luc Teirlinck <teirllm@auburn.edu>
parents: 61877
diff changeset
594 "This hook is run when the library `inf-lisp' is loaded.")
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
595
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
596 (run-hooks 'inferior-lisp-load-hook)
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
597
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
598 ;;; CHANGE LOG
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
599 ;;; ===========================================================================
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
600 ;;; 7/21/92 Jim Blandy
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
601 ;;; - Changed all uses of the cmulisp name or prefix to inferior-lisp;
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
602 ;;; this is now the official inferior lisp package. Use the global
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
603 ;;; ChangeLog from now on.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
604 ;;; 5/24/90 Olin
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
605 ;;; - Split cmulisp and cmushell modes into separate files.
267
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
606 ;;; Not only is this a good idea, it's apparently the way it'll be rel 19.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
607 ;;; - Upgraded process sends to use comint-send-string instead of
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
608 ;;; process-send-string.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
609 ;;; - Explicit references to process "cmulisp" have been replaced with
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
610 ;;; (cmulisp-proc). This allows better handling of multiple process bufs.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
611 ;;; - Added process query and var/function/symbol documentation
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
612 ;;; commands. Based on code written by Douglas Roberts.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
613 ;;; - Added lisp-eval-last-sexp, bound to C-x C-e.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
614 ;;;
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
615 ;;; 9/20/90 Olin
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
616 ;;; Added a save-restriction to lisp-fn-called-at-pt. This bug and fix
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
617 ;;; reported by Lennart Staflin.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
618 ;;;
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
619 ;;; 3/12/90 Olin
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
620 ;;; - lisp-load-file and lisp-compile-file no longer switch-to-lisp.
d83efd759350 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
621 ;;; Tale suggested this.
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
622 ;;; - Reversed this decision 7/15/91. You need the visual feedback.
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
623 ;;;
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
624 ;;; 7/25/91 Olin
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
625 ;;; Changed all keybindings of the form C-c <letter>. These are
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
626 ;;; supposed to be reserved for the user to bind. This affected
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
627 ;;; mainly the compile/eval-defun/region[-and-go] commands.
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
628 ;;; This was painful, but necessary to adhere to the gnumacs standard.
32367
7c181d033dae use lisp-mode-shared-map instead of shared-lisp-mode-map
Sam Steingold <sds@gnu.org>
parents: 30647
diff changeset
629 ;;; For some backwards compatibility, see the
727
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
630 ;;; cmulisp-install-letter-bindings
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
631 ;;; function.
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
632 ;;;
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
633 ;;; 8/2/91 Olin
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
634 ;;; - The lisp-compile/eval-defun/region commands now take a prefix arg,
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
635 ;;; which means switch-to-lisp after sending the text to the Lisp process.
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
636 ;;; This obsoletes all the -and-go commands. The -and-go commands are
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
637 ;;; kept around for historical reasons, and because the user can bind
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
638 ;;; them to key sequences shorter than C-u C-c C-<letter>.
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
639 ;;; - If M-x cmulisp is invoked with a prefix arg, it allows you to
540b047ece4d *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 662
diff changeset
640 ;;; edit the command line.
584
4cd7543be581 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 267
diff changeset
641
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
642 (provide 'inf-lisp)
584
4cd7543be581 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 267
diff changeset
643
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 46158
diff changeset
644 ;;; arch-tag: 5b74abc3-a085-4b91-8ab8-8da6899d3b92
835
bb2da66da13c *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 811
diff changeset
645 ;;; inf-lisp.el ends here