comparison lisp/ilisp/ilisp-mnb.el @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children b82b59fe008d
comparison
equal deleted inserted replaced
-1:000000000000 0:376386a54a3c
1 ;;; -*- Mode: Emacs-Lisp -*-
2
3 ;;; ilisp-mnb.el --
4
5 ;;; This file is part of ILISP.
6 ;;; Version: 5.7
7 ;;;
8 ;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell
9 ;;; 1993, 1994 Ivan Vasquez
10 ;;; 1994, 1995 Marco Antoniotti and Rick Busdiecker
11 ;;;
12 ;;; Other authors' names for which this Copyright notice also holds
13 ;;; may appear later in this file.
14 ;;;
15 ;;; Send mail to 'ilisp-request@lehman.com' to be included in the
16 ;;; ILISP mailing list. 'ilisp@lehman.com' is the general ILISP
17 ;;; mailing list were bugs and improvements are discussed.
18 ;;;
19 ;;; ILISP is freely redistributable under the terms found in the file
20 ;;; COPYING.
21
22
23
24
25 ;(require 'ilisp-key)
26
27 (defvar lisp-general-menu-map (make-sparse-keymap "Lisp")
28 "Keymap for main LISP menu")
29
30
31 (defkey-ilisp [menu-bar lisp]
32 (cons "Lisp" lisp-general-menu-map))
33
34
35 (defkey-ilisp [menu-bar lisp repair]
36 '("Repair Connection" . repair-ilisp))
37
38 (defkey-ilisp [menu-bar lisp reset]
39 '("Reset Connection" . reset-ilisp))
40
41 (defkey-ilisp [menu-bar lisp comment-region]
42 '("Comment Region" . comment-region))
43
44 ;;; (defkey-ilisp [menu-bar lisp sep-1]
45 ;;; '("-" . ilisp-nop))
46
47 (defkey-ilisp [menu-bar lisp macroexpand]
48 '("Macroexpand" . macroexpand-lisp))
49
50 (defkey-ilisp [menu-bar lisp macroexpand-1]
51 '("Macroexpand 1" . macroexpand-1-lisp))
52
53 (defkey-ilisp [menu-bar lisp set-package]
54 '("Set Buffer Package" . set-package-lisp))
55
56 (defkey-ilisp [menu-bar lisp arglist]
57 '("Arglist" . arglist-lisp))
58
59 (defkey-ilisp [menu-bar lisp documentation]
60 '("Documentation" . documentation-lisp))
61
62 (defkey-ilisp [menu-bar lisp describe]
63 '("Describe" . describe-lisp))
64
65 (defkey-ilisp [menu-bar lisp inspect]
66 '("Inspect" . inspect-lisp))
67
68 (defkey-ilisp [menu-bar lisp eval-defun]
69 '("Eval Defun" . eval-defun-and-go-lisp))
70
71 (defkey-ilisp [menu-bar lisp start-inferior-lisp]
72 '("Start Lisp"
73 "Starts an inferior lisp asking for a dialect name"
74 . run-ilisp))
75
76
77 (defun ilisp-nop () nil)
78
79 ;;; Make sure the menu items are properly marked.
80 ;;; Checking for 'ilisp-buffer' is very crufty, but I think it is OK
81 ;;; for the time being. The function 'ilisp-initialized' is not very
82 ;;; good for this.
83
84 (put 'macroexpand-lisp 'menu-enable 'ilisp-buffer)
85 (put 'macroexpand-1-lisp 'menu-enable 'ilisp-buffer)
86 (put 'set-package-lisp 'menu-enable 'ilisp-buffer)
87 (put 'arglist-lisp 'menu-enable 'ilisp-buffer)
88 (put 'documentation-lisp 'menu-enable 'ilisp-buffer)
89 (put 'inspect-lisp 'menu-enable 'ilisp-buffer)
90 (put 'describe-lisp 'menu-enable 'ilisp-buffer)
91 (put 'eval-defun-and-go-lisp 'menu-enable 'ilisp-buffer)
92 (put 'run-ilisp 'menu-enable '(null ilisp-buffer))
93 (put 'reset-ilisp 'menu-enable 'ilisp-buffer)
94 (put 'repair-ilisp 'menu-enable 'ilisp-buffer)
95
96 (put 'comment-region 'menu-enable 'mark-active)
97
98
99 ;;; ilisp-update-menu --
100 ;;; Update the status of the menu "Lisp".
101
102 ;; This variable should disappear!
103
104 (defvar ilisp-process-active-p nil
105 "Kludge to keep track whether the Inf. Lisp is active or not.")
106
107 (defun ilisp-update-menu (status)
108 (if (eq status 'exit)
109 (progn
110 ;; (setq ilisp-process-active-p nil)
111 (put 'macroexpand-lisp 'menu-enable 'ilisp-buffer)
112 (put 'macroexpand-1-lisp 'menu-enable 'ilisp-buffer)
113 (put 'set-package-lisp 'menu-enable 'ilisp-buffer)
114 (put 'arglist-lisp 'menu-enable 'ilisp-buffer)
115 (put 'documentation-lisp 'menu-enable 'ilisp-buffer)
116 (put 'inspect-lisp 'menu-enable 'ilisp-buffer)
117 (put 'describe-lisp 'menu-enable 'ilisp-buffer)
118 (put 'eval-defun-and-go-lisp 'menu-enable 'ilisp-buffer)
119 ;; (put 'run-ilisp 'menu-enable '(and (null ilisp-buffer)
120 ;; ilisp-process-active-p)
121 (put 'run-ilisp 'menu-enable (null ilisp-buffer))
122 (put 'reset-ilisp 'menu-enable 'ilisp-buffer)
123 (put 'repair-ilisp 'menu-enable 'ilisp-buffer)
124 )
125 ;; no-op otherwise
126 ))
127
128 ;;;(setplist 'lisp-command-menu nil)
129 ;;;(def-menu 'lisp-command-menu
130 ;;; "Lisp"
131 ;;; "These ILISP commands are available on the menu:"
132 ;;; '(
133 ;;; ("Break Interupt current lisp."
134 ;;; (progn (switch-to-lisp t)
135 ;;; (interrupt-subjob-ilisp)))
136 ;;; ("Doc Menu of commands to get help on variables, etc."
137 ;;; documentation-lisp-command-menu)
138 ;;; ("Xpand macroexpand-lisp." macroexpand-lisp)
139 ;;; ("Eval Eval the surrounding defun." eval-defun-lisp)
140 ;;; ("1E&G Eval defun and goto Inferior LISP." eval-defun-and-go-lisp)
141 ;;; ("; Comment the region." comment-region-lisp)
142 ;;; (") find-unbalanced-lisp parens." find-unbalanced-lisp)
143 ;;; ("] close-all-lisp parens that are open." close-all-lisp)
144 ;;; ("Trace Traces the previous function symbol." trace-lisp)
145 ;;; )
146 ;;; )
147
148 ;;;(setplist 'documentation-lisp-command-menu nil)
149 ;;;(def-menu 'documentation-lisp-command-menu
150 ;;; "Lisp help"
151 ;;; "These commands are available for examining Lisp structures:"
152 ;;; '(
153 ;;; ("UDoc Get user's documentation string." documentation-lisp)
154 ;;; ("Rglist Get the arglist for function." arglist-lisp)
155 ;;; ("Insp Inspect the current sexp." inspect-lisp)
156 ;;; ("1Insp Prompts for something to inspect." (inspect-lisp -4))
157 ;;; ("Descr Describe the current sexp." describe-lisp)
158 ;;; ("1Descr Prompts for something to describe." (describe-lisp -4))
159 ;;; )
160 ;;; )
161
162 (provide 'ilisp-mnb)