annotate lisp/progmodes/inf-lisp.el @ 63308:51d38cfbe542

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