Mercurial > hg > xemacs-beta
diff lisp/ilisp/ilisp-kcl.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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/ilisp/ilisp-kcl.el Mon Aug 13 08:45:50 2007 +0200 @@ -0,0 +1,82 @@ +;;; -*- Mode: Emacs-Lisp -*- + +;;; ilisp-kcl.el -- + +;;; This file is part of ILISP. +;;; Version: 5.7 +;;; +;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell +;;; 1993, 1994 Ivan Vasquez +;;; 1994, 1995 Marco Antoniotti and Rick Busdiecker +;;; +;;; Other authors' names for which this Copyright notice also holds +;;; may appear later in this file. +;;; +;;; Send mail to 'ilisp-request@lehman.com' to be included in the +;;; ILISP mailing list. 'ilisp@lehman.com' is the general ILISP +;;; mailing list were bugs and improvements are discussed. +;;; +;;; ILISP is freely redistributable under the terms found in the file +;;; COPYING. + + +;;; +;;; ILISP Kyoto Common Lisp dialect definition +;;; + +;;;%%%KCL--these dialects by Tom Emerson +;;; kcl-check-prompt doesn't after the first break because the +;;; number of ">" characters doesn't increase. + +(defun kcl-check-prompt (old new) + "Compare the break level printed at the beginning of the prompt." + (let* ((was-in-break (and old (string-match ">+" old))) + (old-level (if was-in-break + (- (match-end 0) (match-beginning 0)) + 0)) + (is-in-break (string-match ">+" new)) + (new-level (if is-in-break + (- (match-end 0) (match-beginning 0)) + 0))) + (<= new-level old-level))) + +;;; +(defdialect kcl "Kyoto Common LISP" clisp + (setq comint-prompt-regexp "^>+" + ilisp-error-regexp "Error: " + ilisp-binary-extension "o" + comint-fix-error ":q" + comint-continue ":r" + comint-prompt-status + (function + (lambda (old line) + (comint-prompt-status old line 'kcl-check-prompt))))) +(if (not kcl-program) (setq kcl-program "kcl")) + +;;;%%%AKCL +(defdialect akcl "Austin Kyoto Common LISP" kcl) +(if (not akcl-program) (setq akcl-program "akcl")) + + +;;;%%%IBCL +(defdialect ibcl "Ibuki Common LISP" kcl + (setq comint-prompt-regexp "^[-A-Z]*>+\\|^[-A-Z]* ->" + comint-interrupt-regexp ">>Condition: Terminal Interrupt" + comint-continue ":q" + ilisp-reset ":q!" + ilisp-error-regexp ">>Error:")) +(if (not ibcl-program) (setq ibcl-program "ibcl")) + + +;;; GCL -- I assume it is exactly as AKCL. +;;; Should check whether it is similar to IBUKI. +(defdialect gcl "GNU Common LISP" akcl) +(if (not gcl-program) (setq gcl-program "gcl")) + + +;;; ECL -- Beppe Attardi's developments over AKCL + +(defdialect ecl "EcoLisp Common LISP" akcl) +(if (not ecl-program) (setq gcl-program "ecl")) + +;;; end of file -- ilisp-kcl.el --