ref: 4d596eb162c4f8bca66754a279d013c2edb4c274
parent: 916bf9059194beb6d9a347b1c0638d9f64b4b0df
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Mon Feb 17 01:27:10 EST 2025
print: assume all builtins can be looked uo by their pointer
--- a/src/print.c
+++ b/src/print.c
@@ -817,18 +817,14 @@
value_t label;
if(cv_class(cv) == FL(builtintype)){
- void *fptr = *(void**)data;
label = (value_t)ptrhash_get(&FL(reverse_dlsym_lookup_table), cv);
- if(label == (value_t)HT_NOTFOUND){
- FL(hpos) += ios_printf(f, "#<builtin @%p>", fptr);
+ assert(label != (value_t)HT_NOTFOUND);
+ if(FL(print_princ)){
+ outs(f, symbol_name(label));
}else{
- if(FL(print_princ)){
- outs(f, symbol_name(label));
- }else{
- outsn(f, "#fn(", 4);
- outs(f, symbol_name(label));
- outc(f, ')');
- }
+ outsn(f, "#fn(", 4);
+ outs(f, symbol_name(label));
+ outc(f, ')');
}
}else if(cv_class(cv)->vtable != nil && cv_class(cv)->vtable->print != nil){
cv_class(cv)->vtable->print(v, f);