Initial Commit
[packages] / xemacs-packages / ilisp / ilisp-cl.el
1 ;;; -*- Mode: Emacs-Lisp -*-
2
3 ;;; ilisp-cl.el --
4 ;;; ILISP Common Lisp dialect definition
5 ;;;
6 ;;; This file is part of ILISP.
7 ;;; Please refer to the file COPYING for copyrights and licensing
8 ;;; information.
9 ;;; Please refer to the file ACKNOWLEGDEMENTS for an (incomplete) list
10 ;;; of present and past contributors.
11 ;;;
12 ;;; $Id: ilisp-cl.el,v 1.4 2002-06-03 23:36:59 wbd Exp $
13
14 (defvar ilisp-cl-ilisp-package-file "ilisp-pkg.lisp")
15
16 (defvar ilisp-cl-ilisp-init-file "cl-ilisp.lisp")
17
18
19 ;;; common-lisp --
20 ;;;
21 ;;; Notes:
22 ;;; 19990806 Martin Atzmueller
23 ;;; Added several package related entries.
24 ;;;
25 ;;; 19990806 Marco Antoniotti
26 ;;; MAJOR CHANGE. Changed the name of the dialect to COMMON-LISP
27
28 (defdialect common-lisp "Common LISP"
29   ilisp
30   (setq ilisp-load-or-send-command 
31         "(or (and (load \"%s\" :if-does-not-exist nil) t)
32              (and (load \"%s\" :if-does-not-exist nil) t))")
33
34   ;; The following line is an incredible kludge to bypass the behavior
35   ;; of ilisp-load-init and to stick the package file in front of
36   ;; everything.
37   ;; Check what ilisp-load-init does to understand why I am forced to
38   ;; do this.
39   ;; Marco Antoniotti 19941122
40   (ilisp-load-init 'ilisp-package-kludge ilisp-cl-ilisp-package-file)
41
42   ;; 19990912 Marco Antoniotti
43   ;; Changed the argument below from 'clisp to 'common-lisp.
44   (ilisp-load-init 'common-lisp ilisp-cl-ilisp-init-file)
45   (setq ilisp-package-separator-regexp
46         ":+"
47
48         ilisp-package-command
49         ;;; "(nth-value 0 (ignore-errors (let ((*package* *package*)) %s (package-name *package*))))"
50           "(let ((*package* *package*)) (nth-value 0 (ignore-errors %s (package-name *package*))))"
51
52         ilisp-no-package-in-core-regexp
53         "^nil"
54
55         ilisp-fallback-package
56         "\"COMMON-LISP-USER\""
57
58         ilisp-in-package-command-string
59         "in-package"
60          
61         ilisp-defpackage-command-string
62         "defpackage"
63
64         ilisp-package-name-command
65         "(package-name *package*)"
66
67         ilisp-in-package-command
68         "(in-package \"%s\")"
69
70          ilisp-hash-form-regexp
71          "\\(^[ \t]*#[+-].\\)\\|\\(^[ \t]*(\\(.*::?\\)?defpackage[ \t\n]\\)\\|\\(^[ \t]*(\\(.*::?\\)?in-package[ \t\n]*\\)"
72
73         ilisp-last-command
74         "*"
75
76         ilisp-save-command
77         "(progn (ILISP:ilisp-save) %s\n)"
78
79         ilisp-restore-command
80         "(ILISP:ilisp-restore)"
81
82         ilisp-block-command
83         "(progn %s\n)"
84
85         ilisp-eval-command
86         "(ILISP:ilisp-eval \"%s\" \"%s\" \"%s\")"
87
88         ilisp-defvar-regexp
89         "(defvar[ \t\n]")
90
91   (setq ilisp-defvar-command 
92         "(ILISP:ilisp-eval \"(let ((form '%s)) (progn (makunbound (second form)) (eval form)))\" \"%s\" \"%s\")")
93
94   (setq ilisp-compile-command
95         "(ILISP:ilisp-compile \"%s\" \"%s\" \"%s\")"
96
97         ilisp-describe-command
98         "(ILISP:ilisp-describe \"%s\" \"%s\")"
99
100         ilisp-inspect-command
101         "(ILISP:ilisp-inspect \"%s\" \"%s\")"
102
103         ilisp-arglist-command
104         "(ILISP:ilisp-arglist \"%s\" \"%s\")")
105
106   (setq ilisp-documentation-types
107         '(("function") ("variable")
108           ("structure") ("type")
109           ("setf") ("class")
110           ("(qualifiers* (class ...))")))
111
112   (setq ilisp-documentation-command
113         "(ILISP:ilisp-documentation \"%s\" \"%s\" \"%s\")")
114
115   (setq ilisp-macroexpand-1-command 
116         "(ILISP:ilisp-macroexpand-1 \"%s\" \"%s\")")
117
118   (setq ilisp-macroexpand-command
119         "(ILISP:ilisp-macroexpand \"%s\" \"%s\")")
120
121   (setq ilisp-complete-command 
122         "(ILISP:ilisp-matching-symbols \"%s\" \"%s\" %s %s %s)")
123
124   (setq ilisp-locator 'lisp-locate-clisp)
125
126   (setq ilisp-source-types 
127         '(("function") ("macro") ("variable")
128           ("structure") ("type")
129           ("setf") ("class")
130           ("(qualifiers* (class ...))")))
131
132   (setq ilisp-callers-command
133         "(ILISP:ilisp-callers \"%s\" \"%s\")"
134
135         ilisp-trace-command
136         "(ILISP:ilisp-trace \"%s\" \"%s\" \"%s\")"
137
138         ilisp-untrace-command
139         "(ILISP:ilisp-untrace \"%s\" \"%s\")")
140
141   (setq ilisp-directory-command
142         "(namestring *default-pathname-defaults*)"
143
144         ilisp-set-directory-command
145         "(setq *default-pathname-defaults* (parse-namestring \"%s\"))")
146
147   ;; Note:
148   ;; 19990912 Marco Antoniotti
149   ;; This is probably the best and simplest way to fix things.
150   ;; cfr. Hannu Koivisto's posting on 'ilisp@cons.org'.
151
152   (setf ilisp-binary-command
153         "(pathname-type (compile-file-pathname \"ILISP-DUMMY-STRING\"))"
154
155         ilisp-init-binary-command ilisp-binary-command)
156
157   (setq ilisp-load-command
158         "(load \"%s\")")
159
160   (setq ilisp-compile-file-command 
161         "(ILISP:ilisp-compile-file \"%s\" \"%s\")")
162
163   (setq ilisp-print-info-message-command
164         "(ILISP:ilisp-print-info-message \"%s\" \"%s\")" ))
165
166 ;;; end of file -- ilisp-cl.el --