12:30:20DVSSAI seem to running into some issues when writing/reading with clasp. It seems to ignore the first time I try to read, when writing I don't get the correct formatting I'd expect but only for the first thing I'm writing (the rest print fine)
13:20:36DVSSAI notice if I start clasp from /out/clasp/bin/cclasp-boehm and I try the same I get:
13:20:39DVSSADebugger received error of type: SIMPLE-PROGRAM-ERROR The symbol COMMON-LISP-USER::PROMPT-READ has no function bound to it Error flushed.
13:24:22DVSSASorry wrong paste, If i use (read-line *query-io*) it still doesn't give chance to interact (seems to just be reading in a blank without me actually doing anything)
19:14:51Bikedrmeister: dvssa was having trouble with read-line returning immediately on ubuntu - do you have any hints about that? it seems to work properly on os x
19:42:53drmeisterSo what's the deal with it then. When I go (read-char)2 --> #\2 it's reading the next thing in the stream. (read-char) <enter> --> #\NEWLINE
19:43:41stassatsdrmeister: pressing RET makes (read) finish but still leaves the character in the stream
19:43:49drmeisterOn SBCL (read-char)<enter> pauses and waits for input. Are we forgetting to eat a character from the input stream when we type it into a terminal?
19:56:46stassatsit doesn't know about the arguments?
19:57:16drmeisterread_lisp_object is calling read_lisp_object and the second time it will pass recursive_p as true https://github.com/drmeister/clasp/blob/dev/src/core/lispReader.cc#L1018
19:57:38drmeisterNo - this is backtrace and backtrace_symbols - You get nothing.
19:58:01drmeisterThis is why I'm building a debug version - I can get arguments in lldb
19:58:41Bikewait, so whenever you call read, it effectively gets a recursive argument of true?
19:59:37drmeisterThat appears to be the case - and I think that makes it think it's doing a read-preserving-whitespace
20:01:13stassats(progn (read-char) (read) (listen)) and (progn (read-char) (read-preserving-whitespace) (listen)) return different results
20:01:17drmeisterI think once we fix this it will fix another long standing bug that has annoyed the crap out of me - the extra close parenthesis bug.
20:02:44drmeisterOh glob - it's annoying to debug the reader.
20:03:19stassatstpl-read does something on its own
20:05:25stassatsthe peek-char should be peek-char t, unrelated to the problem though
20:05:55Bikeso what is this non recursive read bit doing? resets the iteration depth, then sets up a #= table?
20:10:26stassats(progn (read-char) (loop (print (eval (read))))) has the same problem
20:31:02Bikei mean, it's weird that it's a special variable.
20:31:17drmeister* If y is a whitespace[2] character, then it terminates the token. First the character y is unread if appropriate (see read-preserving-whitespace), and then step 10 is entered.