home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / lisp / ilisp / ilisp-acl.el < prev    next >
Encoding:
Text File  |  1995-01-26  |  2.9 KB  |  86 lines

  1. ;;; -*- Mode: Emacs-Lisp -*-
  2.  
  3. ;;; ilisp-acl.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. ;;; ILISP Allegro Common Lisp dialect definition
  25. ;;;
  26.  
  27. ;;; Various patches provided by Kimball Collins
  28. ;;; <kpc@ptolemy-ethernet.arc.nasa.gov>
  29.  
  30.  
  31. ;;;%%%Allegro
  32. (defvar ilisp-allegro-init-file "allegro.lisp")
  33.  
  34. (defun allegro-check-prompt (old new)
  35.   "Compare the break level printed at the beginning of the prompt."
  36.   (let* ((old-level (if (and old (eq 1 (string-match "[0-9]+" old)))
  37.              (string-to-int (substring old 1))
  38.              0))
  39.       (new-level (if (eq 1 (string-match "[0-9]+" new))
  40.              (string-to-int (substring new 1))
  41.              0)))
  42.     (<= new-level old-level)))
  43.  
  44. ;;;
  45. (defdialect allegro "Allegro Common LISP"
  46.   clisp
  47.   (ilisp-load-init 'allegro ilisp-allegro-init-file)
  48.   (setq comint-fix-error ":pop"
  49.     ilisp-reset ":reset"
  50.     comint-continue ":cont"
  51.     comint-interrupt-regexp  "Error: [^\n]* interrupt\)")
  52.   (setq comint-prompt-status 
  53.     (function (lambda (old line)
  54.             (comint-prompt-status old line 'allegro-check-prompt))))
  55.   ;; <cl> or package> at top-level
  56.   ;; [0-9c] <cl> or package> in error
  57.   ;; (setq comint-prompt-regexp "^\\(\\[[0-9]*c*\\] \\|\\)\\(<\\|\\)[^>]*> ")
  58.   ;; (setq comint-prompt-regexp "^\\(\\[[0-9]+i?c?\\] \\|\\[step\\]\\)?\\(<?[-A-Za-z]* ?[0-9]*?>\\|[-A-Za-z0-9]+([0-9]+):\\) ")
  59.  
  60.   ;; Patch by kpc 94/8/30: allow prompts that look like this:
  61.   ;; USER(23): USER(23):
  62.   (setq comint-prompt-regexp "^\\(\\(\\[[0-9]+i?c?\\] \\|\\[step\\] \\)?\\(<?[-A-Za-z]* ?[0-9]*?>\\|[-A-Za-z0-9]+([0-9]+):\\) \\)+")
  63.    
  64.   (setq ilisp-error-regexp
  65.     "\\(ILISP:[^\"]*\\)\\|\\(Error:[^\n]*\\)\\|\\(Break:[^\n]*\\)")
  66.  
  67.   (setq ilisp-binary-command "excl:*fasl-default-type*")
  68.   (setq ilisp-source-types (append ilisp-source-types '(("any"))))
  69.  
  70.   (setq ilisp-find-source-command 
  71.     "(ILISP:ilisp-source-files \"%s\" \"%s\" \"%s\")")
  72.   (setq ilisp-init-binary-command
  73.     ;; Patch provided by kpc 94/8/30: distinguish among
  74.     ;; fasl-incompatible allegro versions
  75.     "(let ((ext (or #+m68k \"68fasl\"
  76.                 #+sparc \"sfasl\"
  77.                 #+iris4d \"ifasl\"
  78.                         #+dec3100 \"pfasl\"
  79.                         excl:*fasl-default-type*)))
  80.            #+allegro-v4.0 (setq ext (concatenate 'string ext \"40\"))
  81.            #+allegro-v4.1 (setq ext (concatenate 'string ext \"41\"))
  82.            #+allegro-v4.2 (setq ext (concatenate 'string ext \"42\"))
  83.            ext)"))
  84. (if (not allegro-program) (setq allegro-program "cl"))
  85.  
  86.