From cf6535edbbe30d46bdee2f8965eafe855a673484 Mon Sep 17 00:00:00 2001 From: dlichteblau Date: Wed, 20 Apr 2005 19:58:01 +0000 Subject: [PATCH] LispWorks port (thanks to Edi Weitz) --- characters.lisp | 8 ++++---- dep-lw.lisp | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 dep-lw.lisp diff --git a/characters.lisp b/characters.lisp index 828a40c..58674f5 100644 --- a/characters.lisp +++ b/characters.lisp @@ -24,9 +24,9 @@ (in-package :runes) -(deftype rune () 'character) -(deftype rod () '(vector character)) -(deftype simple-rod () '(simple-array character)) +(deftype rune () #-lispworks 'character #+lispworks 'lw:simple-char) +(deftype rod () '(vector rune)) +(deftype simple-rod () '(simple-array rune)) (definline rune (rod index) (char rod index)) @@ -101,7 +101,7 @@ (string-equal x y)) (definline make-rod (size) - (make-string size)) + (make-string size :element-type 'rune)) (defun char-rune (char) char) diff --git a/dep-lw.lisp b/dep-lw.lisp new file mode 100644 index 0000000..b6bfbbd --- /dev/null +++ b/dep-lw.lisp @@ -0,0 +1,30 @@ +;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: CL-USER; -*- +;;; --------------------------------------------------------------------------- +;;; Title: LispWorks dependent stuff + fixups +;;; Created: 2005-01-28 09:43 +;;; Author: Edi Weitz (Copied from dep-cmucl.lisp) +;;; License: LLGPL (See file COPYING for details). +;;; --------------------------------------------------------------------------- +;;; (c) copyright 1999 by Gilbert Baumann + +;;; This code is free software; you can redistribute it and/or modify it +;;; under the terms of the version 2.1 of the GNU Lesser General Public +;;; License as published by the Free Software Foundation, as clarified +;;; by the "Preamble to the Gnu Lesser General Public License" found in +;;; the file COPYING. +;;; +;;; This code is distributed in the hope that it will be useful, +;;; but without any warranty; without even the implied warranty of +;;; merchantability or fitness for a particular purpose. See the GNU +;;; Lesser General Public License for more details. +;;; +;;; Version 2.1 of the GNU Lesser General Public License is in the file +;;; COPYING that was distributed with this file. If it is not present, +;;; you can access it from http://www.gnu.org/copyleft/lesser.txt (until +;;; superseded by a newer version) or write to the Free Software +;;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +(defmacro runes::definline (name args &body body) + `(progn + (declaim (inline ,name)) + (defun ,name ,args .,body)))