Hot damn! When you see an obvious, stupid bug you created, you can't unsee it!

This commit is contained in:
Simon Brooke 2026-04-18 11:02:35 +01:00
parent ca5671f613
commit 02a4bc3e28
8 changed files with 563 additions and 495 deletions

View file

@ -24,9 +24,6 @@
#include "memory/pointer.h"
#include "memory/pso.h"
#include "memory/pso2.h"
#include "memory/pso2.h"
#include "memory/pso2.h"
#include "memory/pso2.h"
#include "memory/pso4.h"
#include "memory/tags.h"
@ -57,18 +54,20 @@ void c_repl( ) {
struct pso_pointer env = consp( oblist ) ? oblist : c_cons( oblist, nil );
struct pso_pointer input_stream = c_assoc( lisp_io_in, env );
struct pso_pointer output_stream = c_assoc( lisp_io_out, env );
if (!readp(input_stream)) {
debug_print(L"Invalid read stream: ", DEBUG_IO, 0);
debug_print_object(input_stream, DEBUG_IO, 0);
}
if (!writep(output_stream)) {
debug_print(L"Invalid write stream: ", DEBUG_IO, 0);
debug_print_object(output_stream, DEBUG_IO, 0);
}
while ( readp( input_stream )
&& !url_feof( stream_get_url_file( input_stream ) ) ) {
if ( !readp( input_stream ) ) {
debug_print( L"Invalid read stream: ", DEBUG_IO, 0 );
debug_print_object( input_stream, DEBUG_IO, 0 );
input_stream = lisp_stdin;
}
if ( !writep( output_stream ) ) {
debug_print( L"Invalid write stream: ", DEBUG_IO, 0 );
debug_print_object( output_stream, DEBUG_IO, 0 );
output_stream = lisp_stdout;
}
while ( readp( input_stream ) &&
!url_feof( stream_get_url_file( input_stream ) ) ) {
/* bottom of stack */
struct pso_pointer frame_pointer = make_frame( 1, nil, input_stream );