Fix clisp fasl load crash
Fri Nov 13 12:15:14 UTC 2009 pix@kepibu.org
* Fix clisp fasl load crash
diff -rN -u old-Oh, Ducks!/regexp-template.lisp new-Oh, Ducks!/regexp-template.lisp
--- old-Oh, Ducks!/regexp-template.lisp 2015-10-01 04:01:38.000000000 +0000
+++ new-Oh, Ducks!/regexp-template.lisp 2015-10-01 04:01:38.000000000 +0000
@@ -15,3 +15,8 @@
;; (match (#t(regexp+ "^f(o+)" (?o)) "fooooooobar") (values o &rest))
;; => "ooooooo", "bar"
+
+;; prevent clisp from crashing when it loads .fas files with #t(...) forms in them
+(defmethod make-load-form ((object unify::template) &optional env)
+ (declare (ignore env))
+ `(make-instance ',(class-of object) :spec ',(template-spec object)))
diff -rN -u old-Oh, Ducks!/unification-templates.lisp new-Oh, Ducks!/unification-templates.lisp
--- old-Oh, Ducks!/unification-templates.lisp 2015-10-01 04:01:38.000000000 +0000
+++ new-Oh, Ducks!/unification-templates.lisp 2015-10-01 04:01:38.000000000 +0000
@@ -1,5 +1,4 @@
(in-package #:css-selector-unifier)
-;; FIXME: this file crashes clisp when loading the fasl...wtf?
#.(set-dispatch-macro-character #\# #\T 'unify::|sharp-T-reader|)
@@ -99,9 +98,6 @@
(let ((specifier (template-spec template)))
(setf (slot-value template 'matcher) (parse-css-specifier (string-trim " " specifier))))))
-;; FIXME: Apparently the #T() objects are causing clisp to crash during
-;; fasl-loading. Quite possibly clisp is unable to save objects to fasls.
-#+(or)
(defun parse-css-specifier (specifier)
(match-case (specifier)
;; combinators