Initial Commit
[packages] / xemacs-packages / ilisp / ilisp-luc.el
1 ;;; -*- Mode: Emacs-Lisp -*-
2
3 ;;; ilisp-luc.el --
4 ;;; ILISP Lucid 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-luc.el,v 1.3 2001-07-02 09:40:47 youngs Exp $
13
14 ;;;%%%Lucid
15 (defvar ilisp-lucid-init-file "lucid.lisp")
16
17
18 (defun lucid-check-prompt (old new)
19   "Compare the break level printed at the beginning of the prompt."
20   (let* ((old-level (if (and old (eq 0 (string-match "\\(->\\)+" old)))
21                         (- (match-end 0) (match-beginning 0))
22                         0))
23          (new-level (if (eq 0 (string-match "\\(->\\)+" new))
24                         (- (match-end 0) (match-beginning 0))
25                         0)))
26     (<= new-level old-level)))
27
28 ;;;
29 (defdialect lucid "Lucid Common LISP"
30   common-lisp
31   (ilisp-load-init 'lucid ilisp-lucid-init-file)
32   (setq comint-prompt-regexp "^\\(->\\)+ \\|^[^> ]*> "
33         comint-fix-error ":a"
34         ilisp-reset ":a :t"
35         comint-continue ":c"
36         comint-interrupt-regexp ">>Break: Keyboard interrupt"
37         comint-prompt-status 
38         (function (lambda (old line)
39           (comint-prompt-status old line 'lucid-check-prompt))))
40   (setq ilisp-error-regexp "ILISP:[^\"]*\\|>>[^\n]*")
41   (setq ilisp-source-types (append ilisp-source-types '(("any"))))
42   (setq ilisp-find-source-command 
43         "(ILISP:ilisp-source-files \"%s\" \"%s\" \"%s\")")
44
45   ;; Note:
46   ;; 19990920
47   ;; The global definition should now take care to find out the
48   ;; proper extension.  See file 'ilisp-cl.el'.
49   
50   ;;(setq ilisp-binary-command 
51   ;;    "(first (last lucid::*load-binary-pathname-types*))")
52
53   ;; ILD Support
54   (setq ild-abort-string ":A"
55        ild-continue-string ":C"
56        ild-next-string ":N"
57        ild-next-string-arg ":N %s"
58        ild-previous-string ":P"
59        ild-previous-string-arg ":P %s"
60        ild-top-string ":<"
61        ild-bottom-string ":>"
62        ild-backtrace-string ":B"
63        ild-locals-string ":V"
64        ild-local-string-arg ":L %s"
65        ild-return-string ":R"
66        ild-retry-string ":F"
67        ild-trap-on-exit-string ":X T")
68   )
69
70 (unless lucid-program (setq lucid-program "lisp"))
71
72 (defdialect liquid "Liquid Common Lisp" lucid)
73
74 (unless liquid-program (setq liquid-program "lisp"))
75
76 ;;; end of file -- ilisp-luc.el --