freenode/#clasp - IRC Chatlog
Search
14:32:46
drmeister
I tried to use staple again - I think we have collisions with our version of eclector and the one that staple uses.
15:07:43
drmeister
We've got some companies that are interested in Cando and I'd like to get the documentation framework up and running.
15:08:39
drmeister
Maybe there's a (defparameter *readtable* nil) in there that should be a (defvar *readtable* nil)?
15:09:16
drmeister
I know it's probably dangerous to mix eclector versions but I don't know how to avoid that other than keep clasp and staple up to date with eclector.
15:10:37
drmeister
You can reproduce this pretty quickly with clasp. load quicklisp into clasp and (ql:quickload :staple0
15:10:46
scymtym
yeah, that's probably it. (defparameter *readtable* in) in variables.lisp sets the variable to NIL before init.lisp can re-install the default readtable
15:11:34
scymtym
i don't have clasp available, but can try whether just quickloading eclector without staple also leads to this error? (i expect yes)
15:28:13
scymtym
i'm pretty sure the problem is that the DEFPARAMETER form in code/readtable/variables.lisp sets the variable to NIL so that the next file, code/readtable/conditions.lisp (as can be seen in the backtrace) is read with *READTABLE* being NIL. i can change this now, but via quicklisp you won't get the change until the next release and only if you update
15:31:48
scymtym
if want to make your code work with vanilla eclector, you can try, as a hack, putting (let ((eclector.reader:*readtable* eclector.reader:*readtable*)) ...) around your calls to ECLECTOR.{READER,PARSE-RESULT,CONCRETE-SYNTAX-TREE}:READ*. that way, only the binding will be overwritten, not the global value
15:32:45
scymtym
actually, i'm not sure that would work. but if it doesn't, you could save and restore the global value around calls
15:37:55
kpoeck
drmeister I believe quickloading eclector is just looking for trouble (since the compiler uses eclector)
15:39:25
drmeister
Huh - I am able to load eclector when I change (defparameter *readtable* nil) to use defvar.
15:42:47
scymtym
i see two kinds of potential problems: 1) in-image upgrading between eclector versions may not work due incompatibly changed lambda lists, etc. 2) stability issues like the one above that only affect loading eclector with eclector