[cl-ppcre-devel] Porting to Genera, feature request

Patrick O'Donnell pao at ascent.com
Wed Sep 29 17:03:14 UTC 2004


Edi,

    Date: Thu, 16 Sep 2004 22:49:51 +0200
    From: Edi Weitz <edi at agharta.de>

    On Thu, 16 Sep 2004 09:17:26 -0400 (EDT), "Patrick O'Donnell" <pao at ascent.com> wrote:
    > I'll send a cleaned-up diff sometime when deadline pressure is
    > relieved.

    Cool, that'd be nice. Take your time.

I took a few moments to clean things up a bit.  The diff is included,
below.

Most of the porting problems were taken care of by judicious package
manipulation.

The change in convert.lisp was because Genera had problems failing to
grow the hash table when the rehash threshold was 1.0 for certain
sizes of table.

In errors.lisp, Symbolics didn't get around to adding the
:default-initargs option.  Just commenting this out causes the errors
to not print, but that didn't bother me, so I haven't spent time
fixing it.

In optimize.lisp and lexer.lisp, Genera had problems with the string
type declarations.  I just diked them.

I moved the defpackage of cl-ppcre-test from ppcre-tests.lisp into
packages.lisp.  That way, Genera could correctly utilize the package
specification in the file attribute list.  I could see no downside.


		- Pat


diff -r cl-ppcre-0.8.0/convert.lisp cl-ppcre/convert.lisp
118c118
<                                      :rehash-threshold 1.0)
---
>                                      :rehash-threshold #-genera 1.0 #+genera 0.99)
diff -r cl-ppcre-0.8.0/errors.lisp cl-ppcre/errors.lisp
1c1
< ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-PPCRE-LISP; Base: 10 -*-
---
> ;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-PPCRE; Base: 10 -*-
44a45
>   #-genera
diff -r cl-ppcre-0.8.0/lexer.lisp cl-ppcre/lexer.lisp
Warning: missing newline at end of file cl-ppcre-0.8.0/lexer.lisp
Warning: missing newline at end of file cl-ppcre/lexer.lisp
89c89
<            (type string string))
---
>            #-genera (type string string))
diff -r cl-ppcre-0.8.0/load.lisp cl-ppcre/load.lisp
30c30
< (in-package #:cl-user)
---
> (in-package :cl-user)
diff -r cl-ppcre-0.8.0/optimize.lisp cl-ppcre/optimize.lisp
Warning: missing newline at end of file cl-ppcre-0.8.0/optimize.lisp
Warning: missing newline at end of file cl-ppcre/optimize.lisp
48c48
<       (declare (type string string))
---
>       #-genera (declare (type string string))
54c54
<         (declare (type string string))
---
>         #-genera (declare (type string string))
diff -r cl-ppcre-0.8.0/packages.lisp cl-ppcre/packages.lisp
30c30
< (in-package #:cl-user)
---
> (in-package :cl-user)
35c35,36
<   (:use #:cl)
---
>   #+genera (:shadowing-import-from #:common-lisp #:lambda #:simple-string #:string)
>   (:use #-genera #:cl #+genera #:future-common-lisp)
92a94,105
> 
> 
> #-:cormanlisp
> (defpackage #:cl-ppcre-test
>   #+genera (:shadowing-import-from #:common-lisp #:lambda)
>   (:use #-genera #:cl #+genera #:future-common-lisp #:cl-ppcre)
>   (:export #:test))
> 
> #+:cormanlisp
> (defpackage "CL-PPCRE-TEST"
>   (:use "CL" "CL-PPCRE")
>   (:export "TEST"))
diff -r cl-ppcre-0.8.0/ppcre-tests.lisp cl-ppcre/ppcre-tests.lisp
30,41d29
< (in-package #:cl-user)
< 
< #-:cormanlisp
< (defpackage #:cl-ppcre-test
<   (:use #:cl #:cl-ppcre)
<   (:export #:test))
< 
< #+:cormanlisp
< (defpackage "CL-PPCRE-TEST"
<   (:use "CL" "CL-PPCRE")
<   (:export "TEST"))
< 
154c142
<                                   :type nil :version nil
---
>                                   :type #-genera nil #+genera :unspecific :version nil
diff -r cl-ppcre-0.8.0/regex-class.lisp cl-ppcre/regex-class.lisp
Warning: missing newline at end of file cl-ppcre-0.8.0/regex-class.lisp
Warning: missing newline at end of file cl-ppcre/regex-class.lisp
35a36,40
> ;;; Genera need the eval-when, here, or the types created by the
> ;;; class definitions aren't seen by the typep calls later in the
> ;;; file.
> (eval-when (:compile-toplevel :load-toplevel :execute)
> 
238a244,245
> );;; End eval-when
> 




More information about the Cl-ppcre-devel mailing list